<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.datoolset.net/mw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ladyofpayne</id>
		<title>Dragon Age Toolset Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.datoolset.net/mw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ladyofpayne"/>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/wiki/Special:Contributions/Ladyofpayne"/>
		<updated>2026-04-10T12:31:46Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.6</generator>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=File:Yourlvl_FOLDER.PNG&amp;diff=19843</id>
		<title>File:Yourlvl FOLDER.PNG</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=File:Yourlvl_FOLDER.PNG&amp;diff=19843"/>
				<updated>2017-11-21T10:38:03Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: uploaded a new version of &amp;amp;quot;File:Yourlvl FOLDER.PNG&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19842</id>
		<title>Adding custom armor tutorial/ru</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19842"/>
				<updated>2017-11-21T10:36:48Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Custom icons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ходе этого туториала мы импортируем платье Кристины Веспуччи из Assassins Creed: Brotherhood в ДАО. Вернее из XNA Lara, потому что ничего другого я не нашел. Это платье я выбрал не случайно - в ходе его адаптации мы используем все те приемы, которые часто используются в этом процессе (&amp;quot;дырявая ткань&amp;quot; аля кружева, текстуры кложи, зависящие от кожи персонажа, многослойный материал и т.д.).Это будет всего-лишь реплейсер, заменитель. Заменять будем церковную робу - просто потому что ее легче всего достать (в прологе мага, например, или с Лелианы в Лотеринге). Ну чтож, приступим...&lt;br /&gt;
Инструменты, что нам понадобятся:&lt;br /&gt;
*3ds max (или бесплатная версия - gmax). 3ds max не старше 2011 года- скрипт по импорту не будет работать.&lt;br /&gt;
*Dragon Age Origins&lt;br /&gt;
*Dragon Age Toolset&lt;br /&gt;
*Adobe Photoshop 32 version only because Nvidia DDS Plugin work only with 32 program.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] (плагин для 3ds max)&lt;br /&gt;
*Вы можете использовать эту программу [http://www.nexusmods.com/dragonage/mods/214/? GDA Editor] для файлов GDA типа.&lt;br /&gt;
*Движок не сможет работать с моделью больше 45 000 полигонов (Faces) и 30 000 вершин (Vertices).&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Сделите за тем, куда вы устанавливаете все программы- program files(x86) для 32 битных программ на 64 bit компьютерах. Скрипт экспорта и сама игра должны быть в одной папке program files.&lt;br /&gt;
&lt;br /&gt;
Установка скрипта Eshme Import/Export: Startup, YAGG и DAOTools добавить в C(диск):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
Настройка. Если вы все сделали правильно, то при первом запуске возникнет окно с настройками. &lt;br /&gt;
&lt;br /&gt;
В Game Path должно быть указано папка с игрой аля C:\Program Files (x86)\Dragon Age, в Export Path папка Override в документах аля C:\Program Files (x86)\Dragon Age\packages\core\override. Наличие установленного тулсета самой последней версии  ОБЯЗАТЕЛЬНО. Сам тулсет должен быть установлен в папку с игрой и после этого вы сможете начать работу в 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures preparation ==&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся четыре: диффузная карта (основная, видимая текстура), нормал карта (однотонная рельефная карта), спекуляр карта (она помогает настроить освещение конкретно под модель) и тинт карта (она говорит двужку где кожа, а где не изменная ткань). Так как исходная модель содержит несколько материалов, то и наборов текстур тоже несколько. Это значит, что например диффузных карт будет тоже несколько.&lt;br /&gt;
Сначала переведем их в формат .DDS с помощью фотошопа. Помните, что размер текстур ВСЕГДА должен быть кратным 4: 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192.&lt;br /&gt;
&lt;br /&gt;
Diffuse map:&lt;br /&gt;
Кожа обязательно должна быть перведена в бледно-серый цвет, чтобы максимально корректно отображать цвет кожи. Должно получиться примерно так:&lt;br /&gt;
 &lt;br /&gt;
[[File:Skin1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
В альфа канале (если его нету, то создаем его с названием Alpha 1) выделяем черным те области, которые будут &amp;quot;дырками&amp;quot;, белое так и останется не прозрачным. Получиться должно нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Normal map: &lt;br /&gt;
Нужно перенести текстуру в монотонно серый. Помимо этого, нужно еще изменить изображение альфа-канала на идентичный зеленому каналу. Должно получится нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Spectacular map:&lt;br /&gt;
Почти ничем не отличается от диффузной, только чуть более темней. Элементы с кожей в обязательном порядке нужно модифицировать. Цвет нужно изменить на темно-красный, почти черный. Саму область нужно подвергнуть обработке: image-&amp;gt; adjustments -&amp;gt;brightness/contrast значение выставлять примерно такие brightness -45, contrast 95. В итоге кожа должна стать примерно такой:&lt;br /&gt;
&lt;br /&gt;
[[File:Spectacularex.png|border]]&lt;br /&gt;
&lt;br /&gt;
* Note: В альфа канал спекуляр карты нужно просто скопировать синий канал. '''Делать это нужно уже после того, как разберетесь с участками кожи.'''Чем больше белого на текстуре _s тем больше и интенсивней будет блеск.&lt;br /&gt;
&lt;br /&gt;
Tint map:&lt;br /&gt;
* '''Note: Не нужна вам если на вашей броне нет участков кожи'''&lt;br /&gt;
Самая простая текстура - работать будет только в альфа канале. Всю текстуру полностью залейте черным цветом. В альфа канале нужно будет сделать примерно тоже самое, что мы уже проделали с альфа каналом диффузной карты, только на этот раз черным будут зоны, которые будут менять тон в соответствии с кожей персонажа, а белые оставаться не изменными. Эта тесктура полностью залита черным потому, что она полностью покрывает кожу и участки, а значит и выделываться здесь смысла нет. То есть да - конкретно в нашем случае должна получиться полностью черная текстура - все четыре канала залиты черным.&lt;br /&gt;
&lt;br /&gt;
== Connecting textures ==&lt;br /&gt;
&lt;br /&gt;
Cоединение текстур. Как я уже упомянал, платье Кристины Веспуччи содержит несколько материалов. Движок ДАО может поддерживать только один материал, а значит нам придется все текстуры объединить.&lt;br /&gt;
Самое главное в том, что один раз определившись порядком текстур, нужно придерживаться его постоянно. В общем, нам нужно выстроить примерно такую конструкцию:&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
'''*Note: Запомните положение текстур, оно вам понадобится при объединении материалов в 3ds Max.'''Тоже самое и для остальных карт (нормали, спекуляр и тинт). Альфа каналы выстраиваем так же. Размер текстур должен быть кратным 4.&lt;br /&gt;
&lt;br /&gt;
== Save textures ==&lt;br /&gt;
&lt;br /&gt;
Текстуры нужно сохранять с такими настройками: &lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Normal map:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Все, на этом в фотошопе закончено. Можно его закрывать. Переименуйте текстуры в hf_rob_chaz_0n.dds (normal-текстура), hf_rob_chaz_0d (diffuse-текстура), hf_rob_chaz_0s (спекуляр) и hf_rob_chaz_0t (тинт карта). Сами текстуры уже можно переместить в папку [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
&lt;br /&gt;
== Names ==&lt;br /&gt;
&lt;br /&gt;
Очень важно для GDA. &lt;br /&gt;
Текстуры надо называть так: [принадлежность полу-расе]_[тип брони\одежды]_[уникальный индекс из 4 букв]_0[тип текстуры].&lt;br /&gt;
Принадлежность полу расе обозначается так:&lt;br /&gt;
*hf- жен. человек&lt;br /&gt;
*hm- муж. человек&lt;br /&gt;
*ef- жен. эльф&lt;br /&gt;
*em- муж. эльф&lt;br /&gt;
*df- жен. гном&lt;br /&gt;
*dm- муж. гном&lt;br /&gt;
*qm- кунари-мужик&lt;br /&gt;
Броня:&lt;br /&gt;
*arm - броня&lt;br /&gt;
*rob - роба (мага, церковника)&lt;br /&gt;
*cth - одежда (дворянина, свадебная)&lt;br /&gt;
Helmets:&lt;br /&gt;
*hlh - for mages.&lt;br /&gt;
*hlf - massive ones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Уникальный индекс можете выбрать любой. Главное помните - не больше 4 букв и не занятый другой вещью.'''&lt;br /&gt;
&lt;br /&gt;
Типов текстур 5:&lt;br /&gt;
*d - диффузная (Duffise)&lt;br /&gt;
*n - нормаль (Normal)&lt;br /&gt;
*s - спекуляр (Spectacular)&lt;br /&gt;
*t - тинт (Tint)&lt;br /&gt;
*e - эммиссив (Emissive) Нужна для свечения аля скай-фай броня. В дао почти не используется)&lt;br /&gt;
В итоге должно получиться нечто вроде такого: hf_rob_xmpl_0d или em_arm_exmp_0n. &lt;br /&gt;
'''*NOTE: Сам материал (название материала в максе, потом это будет MAO файл) именуем также, только без типа текстуры. Например: hf_rob_xmpl или em_arm_exmp. Модель именуется так-же, только с цифрой детализации в конце: hf_rob_xmpl_0 или em_arm_exmp_0'''&lt;br /&gt;
&lt;br /&gt;
== 3D MAX ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Если ваша броня выглядит слишком &amp;quot;грубой&amp;quot;, то это можно исправить ПКМ-&amp;gt; Convert to Edit Poly -&amp;gt; Режим Vertex на панели справа -&amp;gt; press button Weld (Vertexes) на панели справа. Можно там же использовать и Smooth, но будьте осторожны- это добавит новые полигоны ваша модель может не подойти для движка.'''&lt;br /&gt;
&lt;br /&gt;
В ходе адаптации модели нам понадобится максимально похожий образец из оригинальной игры. В моем случае я выбрал церковную робу (hf_rob_chaa) – этакий универсальный образец, который подходит для большинства случаев. В Toolset’е откроем архивы modelhierarchies.erf materialobjects.erf modelmeshdata.erf (найти их можно по даресу [имя_диска_с_игрой]: \Dragon Age\packages\core\data). Так-же откроем архив texturepack.erf находящийся по адресу [имя_диска_с_игрой]:\Dragon Age\packages\core\textures\high. В этих архивах находим файлы&lt;br /&gt;
hf_rob_chaa_0.mmh, hf_rob_chaa_0.phy (modelhierarchies.erf)&lt;br /&gt;
hf_rob_chaa_0.msh (modelmeshdata.erf)&lt;br /&gt;
pf_rob_chaa.mao (materialobjects.erf)&lt;br /&gt;
pf_rob_chaa_0d.dds, pf_rob_chaa_0n.dds, pf_rob_chaa_0s.dds, pf_rob_chaa_0t.dds (texturepack.erf)&lt;br /&gt;
и распаковываем в отдельную папку. Всего на выходе должно получится 8 файлов.&lt;br /&gt;
&lt;br /&gt;
А теперь перейдем в 3ds max. Прежде, чем приступить непосредственно к конвентированию, настроим плагин для 3ds max. Мне гораздо удобнее запускать сразу скрипты, чем захламлять разными кнопками рабочее пространство редактора. Для запуска конфигуратора запустим скрипт (Max Script-&amp;gt;Run Script) DAOToolsSetup находящийся по адресу C:\Program Files\Autodesk\3dsMax8\Scripts\DAOTools.&lt;br /&gt;
&lt;br /&gt;
Итак, приступим, к настройке. В строке Game Path указываем адрес к папке с игрой. В Export Path указываем, куда будут сохранятся экспортированные файлы. Т.к. наша модель будет заменять уже имеющуюся, то укажем там адрес [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ Ползунок World Scale ставим на значение 100. Дело в том, что в своем «естественном» виде, модели ДА очень маленькие. Для комфортной работы с ними нужно увеличить их в 100 (сто) раз. Эта функция как раз создана для того, чтобы на время работы увеличивать модель в удобный размер, а экспортируя обратно возвращая к естественным размерам. Все остальное оставляем нетронутым и нажимаем ОК. Конфигуратор перед закрытием проинформирует нас о возможности в любой момент изменить настройки, не пугайтесь выскочившего окна.&lt;br /&gt;
&lt;br /&gt;
И вот наконец теперь можно заняться непосредственно конвертированием. В окне редактора у нас должна уже быть открыта сама модель. Следующее, что нам нужно сделать, это загрузить оригинальную модель из ДАО. Для этого запускаем скрипт DAOImport. В пункте File секции Model Import указываем месторасположение недавно вытащенного нами .mmh файла (hf_rob_chaa_0.mmh). Нажимаем на кнопку Import, специальное окно известит нас о готовности к импорту, жмем ОК и ждем 5-30 секунд (в зависимости от мощности компьютера) пока загрузится модель.&lt;br /&gt;
&lt;br /&gt;
Для начала скроем все, что нам в данный момент не понадобится. Откроем Schematic View (Graph Editors-&amp;gt; New Schematic View) &lt;br /&gt;
&lt;br /&gt;
Здесь можно увидеть две большие древовидные структуры – это обе наши модели с их иерархией. Полностью выделим структуру оригинальной модели (легко определить по наличию в ней зеленых элементов). Сворачиваем Schematic View. В основном рабочем окне можно увидеть, что выделена оригинальная игровая модель и все ее элементы &lt;br /&gt;
&lt;br /&gt;
Теперь снимем выделение с самой робы, так чтобы выделенными остались лишь второстепенные элементы. Скроем их, чтобы не мешались, они нам все-равно не понадобятся. Для этого нажмем по пустому пространству рабочей области правой кнопкой мыши-&amp;gt;hide selection. Теперь осталось только зафиксировать оригинальную модель. Для этого выделяем ее и правой кнопкой мыши-&amp;gt;properties.&lt;br /&gt;
Поставьте напротив опции Freeze секции interactivity, уберите напротив опции Show Frozen in Gray секции display Properties соответственно. Все, теперь оригинальная модель зафиксирована и защищена от случайных манипуляций.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подогнать модель платья Кристины под габариты игровой робы. Желательно сделать это как можно точнее. Для трансформации модели лучше всего воздействовать на ее кости, так гораздо удобнее. Масштабируем, поворачиваем и двигаем кости так, чтобы модель ровно легла в очертания оригинальной робы. Разводим руки, сводим ноги – процесс нужно делать на «глазок».&lt;br /&gt;
&lt;br /&gt;
== Working with materials ==&lt;br /&gt;
&lt;br /&gt;
*NOTE: Работать с материалами нужно до риггинга. Иначе будут проблемы.&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
&lt;br /&gt;
Важное отступление - если ваша модель полностью покрывается одной текстурой, то ничего из нижеописанного вам проделывать не нужно.&lt;br /&gt;
Сейчас нам нужно объединить несколько материалов в один. Процесс не тривиальный. Итак, когда вы откроете редактор координат, то увидите вот такую картину:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Зеленые линии - это координаты модели на текстуре. Многие игровые движки используют все пространство редактора, но не ДАО. Наша игра не видит ничего за границами выделенного квадрата. Наша задача - передвинуть все координаты во внутрь этого квадрата. Во вкладке All ID's можно выбирать отдельные материалы и двигать их. Наложите текстуру, которую вы создали в фотошопе и согласно ее контурам отмасштабируте и перенесите ее на соответствующее место. Тоже самое нужно бьудет проделать и со всеми сетами материалов, чтобы в конце-концов получилось что-то вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
После этого можно закрывать редактор координат.&lt;br /&gt;
&lt;br /&gt;
== Continue working with materials ==&lt;br /&gt;
&lt;br /&gt;
На верхней панели инструментов найдем кнопку редактора метериалов (четыре разноцветных шара) &lt;br /&gt;
Далее нажимаем Get Material и выбираем из списка Dragon Age Material (если плагин установлен правильно, то он в списке будет) &lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
&lt;br /&gt;
В Material Type указываем Character, в Render Semantics – [Armor w / Skin Tint][Alpha Blending][No Emissive]. Разворачиваем список Texture Maps и назначаем соответствующие текстуры. Далее Assign Material to Selection (платье должно быть выделенным). Если так хочется увидеть текстуру в редакторе, то жмем Show Map in Viewport. Осталось только дать нашему материалу нормальное имя. В соответствующем поле введем pf_rob_chaz_0. Вот и все.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Rigging ==&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/1QMcAX1cDyo Rigging tutorial]&lt;br /&gt;
&lt;br /&gt;
Как только наша модель полностью ляжет в очертания оригинальной робы, можно приступать к следующей фазе &lt;br /&gt;
Выделим нашу модель, правой кнопкой мыши по пустому месту-&amp;gt;Convert To-&amp;gt; Convert To Editable Mesh.&lt;br /&gt;
Теперь полностью выделяем все объекты, снимаем выделение с самой модели платья Кристины (выделеными должны остаться все объекты КРОМЕ платья Кристины) и удаляем. Должны остаться только церковная роба и платье Кристины. Далее правой кнопкой мыши по пустому месту-&amp;gt;Unfreeze All. Это разморозит оригинальную робу, сделав ее доступной для редактирования. Затем в списке ее модификаторов выделим Skin и Edit Normals (с зажатым CTRL). Правой кнопкой мыши по ним-&amp;gt;Cut. Из списка модификаторов они должны исчезнуть. Далее правой кнопкой мыши по пустому месту рабочего пространства-&amp;gt;Convert To-&amp;gt;Convert To Editable Mesh. Это низведет оригинальную робу в тоже состояние, в котором сейчас пребывает и платье Кристины.&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем в режим редактирования полигонов &lt;br /&gt;
&lt;br /&gt;
[[File:Polygon.png|border]]&lt;br /&gt;
 &lt;br /&gt;
Нажмите CTL+ A Вся оригинальная роба должна окраситься в красный цвет выделения. Далее нужно снять выделение с одного-единственного полигона (делается с зажатой клавишей ALT). Какого именно – неважно, главное чтобы он был на виду и до него было просто добраться. Я выбрал один у самых ног. Все, что теперь нужно сделать – нажать кнопку Delete. Это удалит всю модель, кроме одного оставленного нами полигона. Теперь нам нужно прирастить к этому полигону платье Кристины. Для этого выберем на панели инструментов справа кнопку Attach  и нажмем мышью на скафандр. Появится окно, выбрать опцию Match Material to Material IDs. Жмем ОК. Теперь нужно убрать последний полигон оригинальной робы. Вновь переходим в режим редактирования полигонов (предварительно «отжав» кнопку attach), находим когда-то оставленный нами полигон и удаляем его. Все, теперь уже не осталось ничего, что напоминало-бы нам о церковной робе.&lt;br /&gt;
&lt;br /&gt;
Вы должны закончить со всеми правками модели до того, как добавите модификатор Unwrap UVW. Если ваша модель выглядит грубой, то необходимо  исправить:&lt;br /&gt;
ПКМ -&amp;gt; converto to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld -&amp;gt; Convert to editable Mesh&lt;br /&gt;
&lt;br /&gt;
'''Note:'''Закончите все правки модели и материалов до следующего шага - после него все изменения не отобразятся на конечном результате и придется переделывать. &lt;br /&gt;
&lt;br /&gt;
В списке модификаторов нашей модели найдем Unwrap UVW и добавим его к нашей модели. Модель должна окраситься ярко зелеными линиями.&lt;br /&gt;
&lt;br /&gt;
Далее правой кнопкой мыши по списку модификаторов-&amp;gt;Paste. Список модификаторов должен стать таким (сверху-вниз: Skin, Edit Normals, Unwrap UVW)&lt;br /&gt;
&lt;br /&gt;
С самой моделью мы наконец закончили.&lt;br /&gt;
&lt;br /&gt;
== Dress with crinoline ==&lt;br /&gt;
&lt;br /&gt;
[[File:Crinoline_dressDAO.jpg|border]]&lt;br /&gt;
*[https://youtu.be/_q4mmFMmIK8 Как сделать платье с кринолином]&lt;br /&gt;
&lt;br /&gt;
== Export ==&lt;br /&gt;
&lt;br /&gt;
Для этого запускаем скрипт DAOModelExport. Нам предстанет вот так вот такое окно:&lt;br /&gt;
&lt;br /&gt;
[[File:Export.png|border]]&lt;br /&gt;
&lt;br /&gt;
Между Name и .MMH вписать hf_rob_chaa_0. Между Name и .MSH вписать тоже самое (если этого не сделалось автоматически). Отметить опцию Create MAO Material File. Все, теперь жмем Export. По окончании процесса экспорта в папке [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ должны появится пять новых файлов&lt;br /&gt;
hf_rob_chaa_0.phy&lt;br /&gt;
hf_rob_chaa_0.msh&lt;br /&gt;
hf_rob_chaa_0.mmh&lt;br /&gt;
hf_rob_chaa_0.met&lt;br /&gt;
pf_rob_chaz_0.mao&lt;br /&gt;
Там-же уже должны находится обе текстуры. Ну, вот собственно и все. Модель готова, можно запускать игру и смотреть результат.&lt;br /&gt;
&lt;br /&gt;
== Addding custom shield ==&lt;br /&gt;
&lt;br /&gt;
Процесс тот же самый с разницей, что щиту не нужен rigging.&lt;br /&gt;
  &lt;br /&gt;
1) Импортируйте любой щит из игры. В отличие от брони тут не нужно следить за размером - ЛЮБОЙ щит подойдет.&lt;br /&gt;
&lt;br /&gt;
2) Импортируйте ваш щит в ту же сцену и погдгоните его размер к тому, что из игры.&lt;br /&gt;
&lt;br /&gt;
3) Сделайте из ващего нового щита ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. Collapse any active modifiers on the &amp;quot;new&amp;quot; item. Then add a new &amp;quot;unwrap UVW&amp;quot; modiefier to it, and double click it to open the UVW window. then drag and select everything you see there, and DRAG IT ANYWHERE OUTSIDE THE OUTLINED BOX IN THE CENTER. This will make life easier for you in step 6.&lt;br /&gt;
&lt;br /&gt;
4) Выберите щит из игры и выберете все модификаторы исключая &amp;quot;unwrap UVW&amp;quot;. ПКМ -&amp;gt;&amp;quot;cut&amp;quot;, а не удалить, потому что м ыбудем их использовать. Далее ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
5) Теперь &amp;quot;attach&amp;quot; щит из ДАО к вашему новому щиту. &lt;br /&gt;
&lt;br /&gt;
6) Добавть новый &amp;quot;unwrap uvw&amp;quot; к этому mesh. Проверьте все ли модификаторы на месте - press the &amp;quot;+&amp;quot; слева. Выберите &amp;quot;face&amp;quot;, и выберете все, что внутри the outlined box в середине. ПКМ &amp;quot;unwrap UVW&amp;quot; и выберете &amp;quot;collapse to&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
7) Потом нажмите &amp;quot;+&amp;quot; слева от слов &amp;quot;editable mesh&amp;quot;. Выберте &amp;quot;element&amp;quot; и удалите. Вставьте все модификаторы, которые мы вырезали на шаге 4.&lt;br /&gt;
&lt;br /&gt;
8) Добавьте текстуры и экспортируйте.&lt;br /&gt;
&lt;br /&gt;
== Custom icons ==&lt;br /&gt;
Добавьте icon через тулсет. Иконка должна быть с такими настройками:&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
*[[Customisation of original Dragon age armor]]&lt;br /&gt;
*[[Adding custom shield tutorial]]&lt;br /&gt;
*[[Adding custom level tutorial]] - Add your own level.&lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/423834-the-witcher-1-armors-in-da-origins/page-2#entry3544131 How to add new armor to DAO on English] &lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/1122450-loincloth-fashion/page-56#entry16909714 How to fix GDA conflict]&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/3974/? Item Variation ID spreadsheet modification]&lt;br /&gt;
*[https://youtu.be/370D7Lul9tk Skinning tutorial]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
{{Languages}}&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19841</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19841"/>
				<updated>2017-11-21T10:36:39Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into '''Documents\BioWare\Dragon Age\AddIns\your Module_ID\module\override''' in the same folders as models. Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
&lt;br /&gt;
Save your '''.LVL''' files in Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
1) '''NOTE:ALWAYS port your custom levels from SINGLE PLAYER!''' Manage modules-&amp;gt; Single Player-&amp;gt; open your '''LVL''' there.&lt;br /&gt;
&lt;br /&gt;
2) Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3) Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4) Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5) Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area. Files will be ported into Documents\BioWare\Dragon Age\Toolset. Or use Search for each location name in Documents.&lt;br /&gt;
&lt;br /&gt;
6) All files have to be in folder in '''Documents\BioWare\Dragon Age\addins\your Module_ID\packages\core\override'''. Each model has to be organised and be in it's own folder. Your Custom model and texture files has to be in the same folder as your ported Levels.&lt;br /&gt;
&lt;br /&gt;
Make sure that your folder has all type of files also with folders Textures and trees. &lt;br /&gt;
'''NOTE: When you will make Builder to Player packed you will be asked to delete some of files NEVER DO THAT!'''&lt;br /&gt;
&lt;br /&gt;
7) TO BE CONTUNUED.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Bug: New level doesn't work correctly]] - how to fix it if your level doesnt work.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19840</id>
		<title>Adding custom armor tutorial/ru</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19840"/>
				<updated>2017-11-21T10:36:18Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Addding custom shield */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ходе этого туториала мы импортируем платье Кристины Веспуччи из Assassins Creed: Brotherhood в ДАО. Вернее из XNA Lara, потому что ничего другого я не нашел. Это платье я выбрал не случайно - в ходе его адаптации мы используем все те приемы, которые часто используются в этом процессе (&amp;quot;дырявая ткань&amp;quot; аля кружева, текстуры кложи, зависящие от кожи персонажа, многослойный материал и т.д.).Это будет всего-лишь реплейсер, заменитель. Заменять будем церковную робу - просто потому что ее легче всего достать (в прологе мага, например, или с Лелианы в Лотеринге). Ну чтож, приступим...&lt;br /&gt;
Инструменты, что нам понадобятся:&lt;br /&gt;
*3ds max (или бесплатная версия - gmax). 3ds max не старше 2011 года- скрипт по импорту не будет работать.&lt;br /&gt;
*Dragon Age Origins&lt;br /&gt;
*Dragon Age Toolset&lt;br /&gt;
*Adobe Photoshop 32 version only because Nvidia DDS Plugin work only with 32 program.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] (плагин для 3ds max)&lt;br /&gt;
*Вы можете использовать эту программу [http://www.nexusmods.com/dragonage/mods/214/? GDA Editor] для файлов GDA типа.&lt;br /&gt;
*Движок не сможет работать с моделью больше 45 000 полигонов (Faces) и 30 000 вершин (Vertices).&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Сделите за тем, куда вы устанавливаете все программы- program files(x86) для 32 битных программ на 64 bit компьютерах. Скрипт экспорта и сама игра должны быть в одной папке program files.&lt;br /&gt;
&lt;br /&gt;
Установка скрипта Eshme Import/Export: Startup, YAGG и DAOTools добавить в C(диск):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
Настройка. Если вы все сделали правильно, то при первом запуске возникнет окно с настройками. &lt;br /&gt;
&lt;br /&gt;
В Game Path должно быть указано папка с игрой аля C:\Program Files (x86)\Dragon Age, в Export Path папка Override в документах аля C:\Program Files (x86)\Dragon Age\packages\core\override. Наличие установленного тулсета самой последней версии  ОБЯЗАТЕЛЬНО. Сам тулсет должен быть установлен в папку с игрой и после этого вы сможете начать работу в 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures preparation ==&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся четыре: диффузная карта (основная, видимая текстура), нормал карта (однотонная рельефная карта), спекуляр карта (она помогает настроить освещение конкретно под модель) и тинт карта (она говорит двужку где кожа, а где не изменная ткань). Так как исходная модель содержит несколько материалов, то и наборов текстур тоже несколько. Это значит, что например диффузных карт будет тоже несколько.&lt;br /&gt;
Сначала переведем их в формат .DDS с помощью фотошопа. Помните, что размер текстур ВСЕГДА должен быть кратным 4: 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192.&lt;br /&gt;
&lt;br /&gt;
Diffuse map:&lt;br /&gt;
Кожа обязательно должна быть перведена в бледно-серый цвет, чтобы максимально корректно отображать цвет кожи. Должно получиться примерно так:&lt;br /&gt;
 &lt;br /&gt;
[[File:Skin1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
В альфа канале (если его нету, то создаем его с названием Alpha 1) выделяем черным те области, которые будут &amp;quot;дырками&amp;quot;, белое так и останется не прозрачным. Получиться должно нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Normal map: &lt;br /&gt;
Нужно перенести текстуру в монотонно серый. Помимо этого, нужно еще изменить изображение альфа-канала на идентичный зеленому каналу. Должно получится нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Spectacular map:&lt;br /&gt;
Почти ничем не отличается от диффузной, только чуть более темней. Элементы с кожей в обязательном порядке нужно модифицировать. Цвет нужно изменить на темно-красный, почти черный. Саму область нужно подвергнуть обработке: image-&amp;gt; adjustments -&amp;gt;brightness/contrast значение выставлять примерно такие brightness -45, contrast 95. В итоге кожа должна стать примерно такой:&lt;br /&gt;
&lt;br /&gt;
[[File:Spectacularex.png|border]]&lt;br /&gt;
&lt;br /&gt;
* Note: В альфа канал спекуляр карты нужно просто скопировать синий канал. '''Делать это нужно уже после того, как разберетесь с участками кожи.'''Чем больше белого на текстуре _s тем больше и интенсивней будет блеск.&lt;br /&gt;
&lt;br /&gt;
Tint map:&lt;br /&gt;
* '''Note: Не нужна вам если на вашей броне нет участков кожи'''&lt;br /&gt;
Самая простая текстура - работать будет только в альфа канале. Всю текстуру полностью залейте черным цветом. В альфа канале нужно будет сделать примерно тоже самое, что мы уже проделали с альфа каналом диффузной карты, только на этот раз черным будут зоны, которые будут менять тон в соответствии с кожей персонажа, а белые оставаться не изменными. Эта тесктура полностью залита черным потому, что она полностью покрывает кожу и участки, а значит и выделываться здесь смысла нет. То есть да - конкретно в нашем случае должна получиться полностью черная текстура - все четыре канала залиты черным.&lt;br /&gt;
&lt;br /&gt;
== Connecting textures ==&lt;br /&gt;
&lt;br /&gt;
Cоединение текстур. Как я уже упомянал, платье Кристины Веспуччи содержит несколько материалов. Движок ДАО может поддерживать только один материал, а значит нам придется все текстуры объединить.&lt;br /&gt;
Самое главное в том, что один раз определившись порядком текстур, нужно придерживаться его постоянно. В общем, нам нужно выстроить примерно такую конструкцию:&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
'''*Note: Запомните положение текстур, оно вам понадобится при объединении материалов в 3ds Max.'''Тоже самое и для остальных карт (нормали, спекуляр и тинт). Альфа каналы выстраиваем так же. Размер текстур должен быть кратным 4.&lt;br /&gt;
&lt;br /&gt;
== Save textures ==&lt;br /&gt;
&lt;br /&gt;
Текстуры нужно сохранять с такими настройками: &lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Normal map:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Все, на этом в фотошопе закончено. Можно его закрывать. Переименуйте текстуры в hf_rob_chaz_0n.dds (normal-текстура), hf_rob_chaz_0d (diffuse-текстура), hf_rob_chaz_0s (спекуляр) и hf_rob_chaz_0t (тинт карта). Сами текстуры уже можно переместить в папку [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
&lt;br /&gt;
== Names ==&lt;br /&gt;
&lt;br /&gt;
Очень важно для GDA. &lt;br /&gt;
Текстуры надо называть так: [принадлежность полу-расе]_[тип брони\одежды]_[уникальный индекс из 4 букв]_0[тип текстуры].&lt;br /&gt;
Принадлежность полу расе обозначается так:&lt;br /&gt;
*hf- жен. человек&lt;br /&gt;
*hm- муж. человек&lt;br /&gt;
*ef- жен. эльф&lt;br /&gt;
*em- муж. эльф&lt;br /&gt;
*df- жен. гном&lt;br /&gt;
*dm- муж. гном&lt;br /&gt;
*qm- кунари-мужик&lt;br /&gt;
Броня:&lt;br /&gt;
*arm - броня&lt;br /&gt;
*rob - роба (мага, церковника)&lt;br /&gt;
*cth - одежда (дворянина, свадебная)&lt;br /&gt;
Helmets:&lt;br /&gt;
*hlh - for mages.&lt;br /&gt;
*hlf - massive ones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Уникальный индекс можете выбрать любой. Главное помните - не больше 4 букв и не занятый другой вещью.'''&lt;br /&gt;
&lt;br /&gt;
Типов текстур 5:&lt;br /&gt;
*d - диффузная (Duffise)&lt;br /&gt;
*n - нормаль (Normal)&lt;br /&gt;
*s - спекуляр (Spectacular)&lt;br /&gt;
*t - тинт (Tint)&lt;br /&gt;
*e - эммиссив (Emissive) Нужна для свечения аля скай-фай броня. В дао почти не используется)&lt;br /&gt;
В итоге должно получиться нечто вроде такого: hf_rob_xmpl_0d или em_arm_exmp_0n. &lt;br /&gt;
'''*NOTE: Сам материал (название материала в максе, потом это будет MAO файл) именуем также, только без типа текстуры. Например: hf_rob_xmpl или em_arm_exmp. Модель именуется так-же, только с цифрой детализации в конце: hf_rob_xmpl_0 или em_arm_exmp_0'''&lt;br /&gt;
&lt;br /&gt;
== 3D MAX ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Если ваша броня выглядит слишком &amp;quot;грубой&amp;quot;, то это можно исправить ПКМ-&amp;gt; Convert to Edit Poly -&amp;gt; Режим Vertex на панели справа -&amp;gt; press button Weld (Vertexes) на панели справа. Можно там же использовать и Smooth, но будьте осторожны- это добавит новые полигоны ваша модель может не подойти для движка.'''&lt;br /&gt;
&lt;br /&gt;
В ходе адаптации модели нам понадобится максимально похожий образец из оригинальной игры. В моем случае я выбрал церковную робу (hf_rob_chaa) – этакий универсальный образец, который подходит для большинства случаев. В Toolset’е откроем архивы modelhierarchies.erf materialobjects.erf modelmeshdata.erf (найти их можно по даресу [имя_диска_с_игрой]: \Dragon Age\packages\core\data). Так-же откроем архив texturepack.erf находящийся по адресу [имя_диска_с_игрой]:\Dragon Age\packages\core\textures\high. В этих архивах находим файлы&lt;br /&gt;
hf_rob_chaa_0.mmh, hf_rob_chaa_0.phy (modelhierarchies.erf)&lt;br /&gt;
hf_rob_chaa_0.msh (modelmeshdata.erf)&lt;br /&gt;
pf_rob_chaa.mao (materialobjects.erf)&lt;br /&gt;
pf_rob_chaa_0d.dds, pf_rob_chaa_0n.dds, pf_rob_chaa_0s.dds, pf_rob_chaa_0t.dds (texturepack.erf)&lt;br /&gt;
и распаковываем в отдельную папку. Всего на выходе должно получится 8 файлов.&lt;br /&gt;
&lt;br /&gt;
А теперь перейдем в 3ds max. Прежде, чем приступить непосредственно к конвентированию, настроим плагин для 3ds max. Мне гораздо удобнее запускать сразу скрипты, чем захламлять разными кнопками рабочее пространство редактора. Для запуска конфигуратора запустим скрипт (Max Script-&amp;gt;Run Script) DAOToolsSetup находящийся по адресу C:\Program Files\Autodesk\3dsMax8\Scripts\DAOTools.&lt;br /&gt;
&lt;br /&gt;
Итак, приступим, к настройке. В строке Game Path указываем адрес к папке с игрой. В Export Path указываем, куда будут сохранятся экспортированные файлы. Т.к. наша модель будет заменять уже имеющуюся, то укажем там адрес [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ Ползунок World Scale ставим на значение 100. Дело в том, что в своем «естественном» виде, модели ДА очень маленькие. Для комфортной работы с ними нужно увеличить их в 100 (сто) раз. Эта функция как раз создана для того, чтобы на время работы увеличивать модель в удобный размер, а экспортируя обратно возвращая к естественным размерам. Все остальное оставляем нетронутым и нажимаем ОК. Конфигуратор перед закрытием проинформирует нас о возможности в любой момент изменить настройки, не пугайтесь выскочившего окна.&lt;br /&gt;
&lt;br /&gt;
И вот наконец теперь можно заняться непосредственно конвертированием. В окне редактора у нас должна уже быть открыта сама модель. Следующее, что нам нужно сделать, это загрузить оригинальную модель из ДАО. Для этого запускаем скрипт DAOImport. В пункте File секции Model Import указываем месторасположение недавно вытащенного нами .mmh файла (hf_rob_chaa_0.mmh). Нажимаем на кнопку Import, специальное окно известит нас о готовности к импорту, жмем ОК и ждем 5-30 секунд (в зависимости от мощности компьютера) пока загрузится модель.&lt;br /&gt;
&lt;br /&gt;
Для начала скроем все, что нам в данный момент не понадобится. Откроем Schematic View (Graph Editors-&amp;gt; New Schematic View) &lt;br /&gt;
&lt;br /&gt;
Здесь можно увидеть две большие древовидные структуры – это обе наши модели с их иерархией. Полностью выделим структуру оригинальной модели (легко определить по наличию в ней зеленых элементов). Сворачиваем Schematic View. В основном рабочем окне можно увидеть, что выделена оригинальная игровая модель и все ее элементы &lt;br /&gt;
&lt;br /&gt;
Теперь снимем выделение с самой робы, так чтобы выделенными остались лишь второстепенные элементы. Скроем их, чтобы не мешались, они нам все-равно не понадобятся. Для этого нажмем по пустому пространству рабочей области правой кнопкой мыши-&amp;gt;hide selection. Теперь осталось только зафиксировать оригинальную модель. Для этого выделяем ее и правой кнопкой мыши-&amp;gt;properties.&lt;br /&gt;
Поставьте напротив опции Freeze секции interactivity, уберите напротив опции Show Frozen in Gray секции display Properties соответственно. Все, теперь оригинальная модель зафиксирована и защищена от случайных манипуляций.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подогнать модель платья Кристины под габариты игровой робы. Желательно сделать это как можно точнее. Для трансформации модели лучше всего воздействовать на ее кости, так гораздо удобнее. Масштабируем, поворачиваем и двигаем кости так, чтобы модель ровно легла в очертания оригинальной робы. Разводим руки, сводим ноги – процесс нужно делать на «глазок».&lt;br /&gt;
&lt;br /&gt;
== Working with materials ==&lt;br /&gt;
&lt;br /&gt;
*NOTE: Работать с материалами нужно до риггинга. Иначе будут проблемы.&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
&lt;br /&gt;
Важное отступление - если ваша модель полностью покрывается одной текстурой, то ничего из нижеописанного вам проделывать не нужно.&lt;br /&gt;
Сейчас нам нужно объединить несколько материалов в один. Процесс не тривиальный. Итак, когда вы откроете редактор координат, то увидите вот такую картину:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Зеленые линии - это координаты модели на текстуре. Многие игровые движки используют все пространство редактора, но не ДАО. Наша игра не видит ничего за границами выделенного квадрата. Наша задача - передвинуть все координаты во внутрь этого квадрата. Во вкладке All ID's можно выбирать отдельные материалы и двигать их. Наложите текстуру, которую вы создали в фотошопе и согласно ее контурам отмасштабируте и перенесите ее на соответствующее место. Тоже самое нужно бьудет проделать и со всеми сетами материалов, чтобы в конце-концов получилось что-то вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
После этого можно закрывать редактор координат.&lt;br /&gt;
&lt;br /&gt;
== Continue working with materials ==&lt;br /&gt;
&lt;br /&gt;
На верхней панели инструментов найдем кнопку редактора метериалов (четыре разноцветных шара) &lt;br /&gt;
Далее нажимаем Get Material и выбираем из списка Dragon Age Material (если плагин установлен правильно, то он в списке будет) &lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
&lt;br /&gt;
В Material Type указываем Character, в Render Semantics – [Armor w / Skin Tint][Alpha Blending][No Emissive]. Разворачиваем список Texture Maps и назначаем соответствующие текстуры. Далее Assign Material to Selection (платье должно быть выделенным). Если так хочется увидеть текстуру в редакторе, то жмем Show Map in Viewport. Осталось только дать нашему материалу нормальное имя. В соответствующем поле введем pf_rob_chaz_0. Вот и все.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Rigging ==&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/1QMcAX1cDyo Rigging tutorial]&lt;br /&gt;
&lt;br /&gt;
Как только наша модель полностью ляжет в очертания оригинальной робы, можно приступать к следующей фазе &lt;br /&gt;
Выделим нашу модель, правой кнопкой мыши по пустому месту-&amp;gt;Convert To-&amp;gt; Convert To Editable Mesh.&lt;br /&gt;
Теперь полностью выделяем все объекты, снимаем выделение с самой модели платья Кристины (выделеными должны остаться все объекты КРОМЕ платья Кристины) и удаляем. Должны остаться только церковная роба и платье Кристины. Далее правой кнопкой мыши по пустому месту-&amp;gt;Unfreeze All. Это разморозит оригинальную робу, сделав ее доступной для редактирования. Затем в списке ее модификаторов выделим Skin и Edit Normals (с зажатым CTRL). Правой кнопкой мыши по ним-&amp;gt;Cut. Из списка модификаторов они должны исчезнуть. Далее правой кнопкой мыши по пустому месту рабочего пространства-&amp;gt;Convert To-&amp;gt;Convert To Editable Mesh. Это низведет оригинальную робу в тоже состояние, в котором сейчас пребывает и платье Кристины.&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем в режим редактирования полигонов &lt;br /&gt;
&lt;br /&gt;
[[File:Polygon.png|border]]&lt;br /&gt;
 &lt;br /&gt;
Нажмите CTL+ A Вся оригинальная роба должна окраситься в красный цвет выделения. Далее нужно снять выделение с одного-единственного полигона (делается с зажатой клавишей ALT). Какого именно – неважно, главное чтобы он был на виду и до него было просто добраться. Я выбрал один у самых ног. Все, что теперь нужно сделать – нажать кнопку Delete. Это удалит всю модель, кроме одного оставленного нами полигона. Теперь нам нужно прирастить к этому полигону платье Кристины. Для этого выберем на панели инструментов справа кнопку Attach  и нажмем мышью на скафандр. Появится окно, выбрать опцию Match Material to Material IDs. Жмем ОК. Теперь нужно убрать последний полигон оригинальной робы. Вновь переходим в режим редактирования полигонов (предварительно «отжав» кнопку attach), находим когда-то оставленный нами полигон и удаляем его. Все, теперь уже не осталось ничего, что напоминало-бы нам о церковной робе.&lt;br /&gt;
&lt;br /&gt;
Вы должны закончить со всеми правками модели до того, как добавите модификатор Unwrap UVW. Если ваша модель выглядит грубой, то необходимо  исправить:&lt;br /&gt;
ПКМ -&amp;gt; converto to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld -&amp;gt; Convert to editable Mesh&lt;br /&gt;
&lt;br /&gt;
'''Note:'''Закончите все правки модели и материалов до следующего шага - после него все изменения не отобразятся на конечном результате и придется переделывать. &lt;br /&gt;
&lt;br /&gt;
В списке модификаторов нашей модели найдем Unwrap UVW и добавим его к нашей модели. Модель должна окраситься ярко зелеными линиями.&lt;br /&gt;
&lt;br /&gt;
Далее правой кнопкой мыши по списку модификаторов-&amp;gt;Paste. Список модификаторов должен стать таким (сверху-вниз: Skin, Edit Normals, Unwrap UVW)&lt;br /&gt;
&lt;br /&gt;
С самой моделью мы наконец закончили.&lt;br /&gt;
&lt;br /&gt;
== Dress with crinoline ==&lt;br /&gt;
&lt;br /&gt;
[[File:Crinoline_dressDAO.jpg|border]]&lt;br /&gt;
*[https://youtu.be/_q4mmFMmIK8 Как сделать платье с кринолином]&lt;br /&gt;
&lt;br /&gt;
== Export ==&lt;br /&gt;
&lt;br /&gt;
Для этого запускаем скрипт DAOModelExport. Нам предстанет вот так вот такое окно:&lt;br /&gt;
&lt;br /&gt;
[[File:Export.png|border]]&lt;br /&gt;
&lt;br /&gt;
Между Name и .MMH вписать hf_rob_chaa_0. Между Name и .MSH вписать тоже самое (если этого не сделалось автоматически). Отметить опцию Create MAO Material File. Все, теперь жмем Export. По окончании процесса экспорта в папке [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ должны появится пять новых файлов&lt;br /&gt;
hf_rob_chaa_0.phy&lt;br /&gt;
hf_rob_chaa_0.msh&lt;br /&gt;
hf_rob_chaa_0.mmh&lt;br /&gt;
hf_rob_chaa_0.met&lt;br /&gt;
pf_rob_chaz_0.mao&lt;br /&gt;
Там-же уже должны находится обе текстуры. Ну, вот собственно и все. Модель готова, можно запускать игру и смотреть результат.&lt;br /&gt;
&lt;br /&gt;
== Addding custom shield ==&lt;br /&gt;
&lt;br /&gt;
Процесс тот же самый с разницей, что щиту не нужен rigging.&lt;br /&gt;
  &lt;br /&gt;
1) Импортируйте любой щит из игры. В отличие от брони тут не нужно следить за размером - ЛЮБОЙ щит подойдет.&lt;br /&gt;
&lt;br /&gt;
2) Импортируйте ваш щит в ту же сцену и погдгоните его размер к тому, что из игры.&lt;br /&gt;
&lt;br /&gt;
3) Сделайте из ващего нового щита ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. Collapse any active modifiers on the &amp;quot;new&amp;quot; item. Then add a new &amp;quot;unwrap UVW&amp;quot; modiefier to it, and double click it to open the UVW window. then drag and select everything you see there, and DRAG IT ANYWHERE OUTSIDE THE OUTLINED BOX IN THE CENTER. This will make life easier for you in step 6.&lt;br /&gt;
&lt;br /&gt;
4) Выберите щит из игры и выберете все модификаторы исключая &amp;quot;unwrap UVW&amp;quot;. ПКМ -&amp;gt;&amp;quot;cut&amp;quot;, а не удалить, потому что м ыбудем их использовать. Далее ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
5) Теперь &amp;quot;attach&amp;quot; щит из ДАО к вашему новому щиту. &lt;br /&gt;
&lt;br /&gt;
6) Добавть новый &amp;quot;unwrap uvw&amp;quot; к этому mesh. Проверьте все ли модификаторы на месте - press the &amp;quot;+&amp;quot; слева. Выберите &amp;quot;face&amp;quot;, и выберете все, что внутри the outlined box в середине. ПКМ &amp;quot;unwrap UVW&amp;quot; и выберете &amp;quot;collapse to&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
7) Потом нажмите &amp;quot;+&amp;quot; слева от слов &amp;quot;editable mesh&amp;quot;. Выберте &amp;quot;element&amp;quot; и удалите. Вставьте все модификаторы, которые мы вырезали на шаге 4.&lt;br /&gt;
&lt;br /&gt;
8) Добавьте текстуры и экспортируйте.&lt;br /&gt;
&lt;br /&gt;
== Custom icons ==&lt;br /&gt;
Добавьте icon через тулсет. Иконка должна быть с такими настройками:&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
&lt;br /&gt;
*[[Customisation of original Dragon age armor]]&lt;br /&gt;
*[[Adding custom shield tutorial]]&lt;br /&gt;
*[[Adding custom level tutorial]] - Add your own level.&lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/423834-the-witcher-1-armors-in-da-origins/page-2#entry3544131 How to add new armor to DAO on English] &lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/1122450-loincloth-fashion/page-56#entry16909714 How to fix GDA conflict]&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/3974/? Item Variation ID spreadsheet modification]&lt;br /&gt;
*[https://youtu.be/370D7Lul9tk Skinning tutorial]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
{{Languages}}&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19839</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19839"/>
				<updated>2017-11-21T10:34:04Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into '''Documents\BioWare\Dragon Age\AddIns\your Module_ID\module\override''' in the same folders as models. Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
&lt;br /&gt;
Save your '''.LVL''' files in Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
1) '''NOTE:ALWAYS port your custom levels from SINGLE PLAYER!''' Manage modules-&amp;gt; Single Player-&amp;gt; open your '''LVL''' there.&lt;br /&gt;
&lt;br /&gt;
2) Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3) Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4) Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5) Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area. Files will be ported into Documents\BioWare\Dragon Age\Toolset. Or use Search for each location name in Documents.&lt;br /&gt;
&lt;br /&gt;
6) All files have to be in folder in '''Documents\BioWare\Dragon Age\addins\your Module_ID\packages\core\override'''. Each model has to be organised and be in it's own folder. Your Custom model and texture files has to be in the same folder as your ported Levels.&lt;br /&gt;
&lt;br /&gt;
Make sure that your folder has all type of files also with folders Textures and trees. &lt;br /&gt;
'''NOTE: When you will make Builder to Player packed you will be asked to delete some of files NEVER DO THAT!'''&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
7) The end. Test your levels in areas and make Builder to Player.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Bug: New level doesn't work correctly]] - how to fix it if your level doesnt work.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=File:Yourlvl_FOLDER.PNG&amp;diff=19838</id>
		<title>File:Yourlvl FOLDER.PNG</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=File:Yourlvl_FOLDER.PNG&amp;diff=19838"/>
				<updated>2017-11-21T10:30:14Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: uploaded a new version of &amp;amp;quot;File:Yourlvl FOLDER.PNG&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=File:Yourlvl_FOLDER.PNG&amp;diff=19837</id>
		<title>File:Yourlvl FOLDER.PNG</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=File:Yourlvl_FOLDER.PNG&amp;diff=19837"/>
				<updated>2017-11-21T10:29:29Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: uploaded a new version of &amp;amp;quot;File:Yourlvl FOLDER.PNG&amp;amp;quot;: Reverted to version as of 10:28, 21 November 2017&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=File:Yourlvl_FOLDER.PNG&amp;diff=19836</id>
		<title>File:Yourlvl FOLDER.PNG</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=File:Yourlvl_FOLDER.PNG&amp;diff=19836"/>
				<updated>2017-11-21T10:29:20Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: uploaded a new version of &amp;amp;quot;File:Yourlvl FOLDER.PNG&amp;amp;quot;: New image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=File:Yourlvl_FOLDER.PNG&amp;diff=19835</id>
		<title>File:Yourlvl FOLDER.PNG</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=File:Yourlvl_FOLDER.PNG&amp;diff=19835"/>
				<updated>2017-11-21T10:28:32Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: uploaded a new version of &amp;amp;quot;File:Yourlvl FOLDER.PNG&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19828</id>
		<title>Adding custom armor tutorial/ru</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19828"/>
				<updated>2017-10-24T06:39:25Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Rigging */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ходе этого туториала мы импортируем платье Кристины Веспуччи из Assassins Creed: Brotherhood в ДАО. Вернее из XNA Lara, потому что ничего другого я не нашел. Это платье я выбрал не случайно - в ходе его адаптации мы используем все те приемы, которые часто используются в этом процессе (&amp;quot;дырявая ткань&amp;quot; аля кружева, текстуры кложи, зависящие от кожи персонажа, многослойный материал и т.д.).Это будет всего-лишь реплейсер, заменитель. Заменять будем церковную робу - просто потому что ее легче всего достать (в прологе мага, например, или с Лелианы в Лотеринге). Ну чтож, приступим...&lt;br /&gt;
Инструменты, что нам понадобятся:&lt;br /&gt;
*3ds max (или бесплатная версия - gmax). 3ds max не старше 2011 года- скрипт по импорту не будет работать.&lt;br /&gt;
*Dragon Age Origins&lt;br /&gt;
*Dragon Age Toolset&lt;br /&gt;
*Adobe Photoshop 32 version only because Nvidia DDS Plugin work only with 32 program.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] (плагин для 3ds max)&lt;br /&gt;
*Вы можете использовать эту программу [http://www.nexusmods.com/dragonage/mods/214/? GDA Editor] для файлов GDA типа.&lt;br /&gt;
*Движок не сможет работать с моделью больше 45 000 полигонов (Faces) и 30 000 вершин (Vertices).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Сделите за тем, куда вы устанавливаете все программы- program files(x86) для 32 битных программ на 64 bit компьютерах. Скрипт экспорта и сама игра должны быть в одной папке program files.&lt;br /&gt;
&lt;br /&gt;
Установка скрипта Eshme Import/Export: Startup, YAGG и DAOTools добавить в C(диск):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
Настройка. Если вы все сделали правильно, то при первом запуске возникнет окно с настройками. &lt;br /&gt;
&lt;br /&gt;
В Game Path должно быть указано папка с игрой аля C:\Program Files (x86)\Dragon Age, в Export Path папка Override в документах аля C:\Program Files (x86)\Dragon Age\packages\core\override. Наличие установленного тулсета самой последней версии  ОБЯЗАТЕЛЬНО. Сам тулсет должен быть установлен в папку с игрой и после этого вы сможете начать работу в 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures preparation ==&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся четыре: диффузная карта (основная, видимая текстура), нормал карта (однотонная рельефная карта), спекуляр карта (она помогает настроить освещение конкретно под модель) и тинт карта (она говорит двужку где кожа, а где не изменная ткань). Так как исходная модель содержит несколько материалов, то и наборов текстур тоже несколько. Это значит, что например диффузных карт будет тоже несколько.&lt;br /&gt;
Сначала переведем их в формат .DDS с помощью фотошопа. Помните, что размер текстур ВСЕГДА должен быть кратным 4: 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192.&lt;br /&gt;
&lt;br /&gt;
Diffuse map:&lt;br /&gt;
Кожа обязательно должна быть перведена в бледно-серый цвет, чтобы максимально корректно отображать цвет кожи. Должно получиться примерно так:&lt;br /&gt;
 &lt;br /&gt;
[[File:Skin1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
В альфа канале (если его нету, то создаем его с названием Alpha 1) выделяем черным те области, которые будут &amp;quot;дырками&amp;quot;, белое так и останется не прозрачным. Получиться должно нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Normal map: &lt;br /&gt;
Нужно перенести текстуру в монотонно серый. Помимо этого, нужно еще изменить изображение альфа-канала на идентичный зеленому каналу. Должно получится нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Spectacular map:&lt;br /&gt;
Почти ничем не отличается от диффузной, только чуть более темней. Элементы с кожей в обязательном порядке нужно модифицировать. Цвет нужно изменить на темно-красный, почти черный. Саму область нужно подвергнуть обработке: image-&amp;gt; adjustments -&amp;gt;brightness/contrast значение выставлять примерно такие brightness -45, contrast 95. В итоге кожа должна стать примерно такой:&lt;br /&gt;
&lt;br /&gt;
[[File:Spectacularex.png|border]]&lt;br /&gt;
&lt;br /&gt;
* Note: В альфа канал спекуляр карты нужно просто скопировать синий канал. '''Делать это нужно уже после того, как разберетесь с участками кожи.'''Чем больше белого на текстуре _s тем больше и интенсивней будет блеск.&lt;br /&gt;
&lt;br /&gt;
Tint map:&lt;br /&gt;
* '''Note: Не нужна вам если на вашей броне нет участков кожи'''&lt;br /&gt;
Самая простая текстура - работать будет только в альфа канале. Всю текстуру полностью залейте черным цветом. В альфа канале нужно будет сделать примерно тоже самое, что мы уже проделали с альфа каналом диффузной карты, только на этот раз черным будут зоны, которые будут менять тон в соответствии с кожей персонажа, а белые оставаться не изменными. Эта тесктура полностью залита черным потому, что она полностью покрывает кожу и участки, а значит и выделываться здесь смысла нет. То есть да - конкретно в нашем случае должна получиться полностью черная текстура - все четыре канала залиты черным.&lt;br /&gt;
&lt;br /&gt;
== Connecting textures ==&lt;br /&gt;
Cоединение текстур. Как я уже упомянал, платье Кристины Веспуччи содержит несколько материалов. Движок ДАО может поддерживать только один материал, а значит нам придется все текстуры объединить.&lt;br /&gt;
Самое главное в том, что один раз определившись порядком текстур, нужно придерживаться его постоянно. В общем, нам нужно выстроить примерно такую конструкцию:&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
'''*Note: Запомните положение текстур, оно вам понадобится при объединении материалов в 3ds Max.'''Тоже самое и для остальных карт (нормали, спекуляр и тинт). Альфа каналы выстраиваем так же. Размер текстур должен быть кратным 4.&lt;br /&gt;
&lt;br /&gt;
== Save textures ==&lt;br /&gt;
&lt;br /&gt;
Текстуры нужно сохранять с такими настройками: &lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Normal map:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Все, на этом в фотошопе закончено. Можно его закрывать. Переименуйте текстуры в hf_rob_chaz_0n.dds (normal-текстура), hf_rob_chaz_0d (diffuse-текстура), hf_rob_chaz_0s (спекуляр) и hf_rob_chaz_0t (тинт карта). Сами текстуры уже можно переместить в папку [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
&lt;br /&gt;
== Names ==&lt;br /&gt;
Очень важно для GDA. &lt;br /&gt;
Текстуры надо называть так: [принадлежность полу-расе]_[тип брони\одежды]_[уникальный индекс из 4 букв]_0[тип текстуры].&lt;br /&gt;
Принадлежность полу расе обозначается так:&lt;br /&gt;
*hf- жен. человек&lt;br /&gt;
*hm- муж. человек&lt;br /&gt;
*ef- жен. эльф&lt;br /&gt;
*em- муж. эльф&lt;br /&gt;
*df- жен. гном&lt;br /&gt;
*dm- муж. гном&lt;br /&gt;
*qm- кунари-мужик&lt;br /&gt;
Броня:&lt;br /&gt;
*arm - броня&lt;br /&gt;
*rob - роба (мага, церковника)&lt;br /&gt;
*cth - одежда (дворянина, свадебная)&lt;br /&gt;
Helmets:&lt;br /&gt;
*hlh - for mages.&lt;br /&gt;
*hlf - massive ones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Уникальный индекс можете выбрать любой. Главное помните - не больше 4 букв и не занятый другой вещью.'''&lt;br /&gt;
&lt;br /&gt;
Типов текстур 5:&lt;br /&gt;
*d - диффузная (Duffise)&lt;br /&gt;
*n - нормаль (Normal)&lt;br /&gt;
*s - спекуляр (Spectacular)&lt;br /&gt;
*t - тинт (Tint)&lt;br /&gt;
*e - эммиссив (Emissive) Нужна для свечения аля скай-фай броня. В дао почти не используется)&lt;br /&gt;
В итоге должно получиться нечто вроде такого: hf_rob_xmpl_0d или em_arm_exmp_0n. &lt;br /&gt;
'''*NOTE: Сам материал (название материала в максе, потом это будет MAO файл) именуем также, только без типа текстуры. Например: hf_rob_xmpl или em_arm_exmp. Модель именуется так-же, только с цифрой детализации в конце: hf_rob_xmpl_0 или em_arm_exmp_0'''&lt;br /&gt;
&lt;br /&gt;
== 3D MAX ==&lt;br /&gt;
'''NOTE: Если ваша броня выглядит слишком &amp;quot;грубой&amp;quot;, то это можно исправить ПКМ-&amp;gt; Convert to Edit Poly -&amp;gt; Режим Vertex на панели справа -&amp;gt; press button Weld (Vertexes) на панели справа. Можно там же использовать и Smooth, но будьте осторожны- это добавит новые полигоны ваша модель может не подойти для движка.'''&lt;br /&gt;
&lt;br /&gt;
В ходе адаптации модели нам понадобится максимально похожий образец из оригинальной игры. В моем случае я выбрал церковную робу (hf_rob_chaa) – этакий универсальный образец, который подходит для большинства случаев. В Toolset’е откроем архивы modelhierarchies.erf materialobjects.erf modelmeshdata.erf (найти их можно по даресу [имя_диска_с_игрой]: \Dragon Age\packages\core\data). Так-же откроем архив texturepack.erf находящийся по адресу [имя_диска_с_игрой]:\Dragon Age\packages\core\textures\high. В этих архивах находим файлы&lt;br /&gt;
hf_rob_chaa_0.mmh, hf_rob_chaa_0.phy (modelhierarchies.erf)&lt;br /&gt;
hf_rob_chaa_0.msh (modelmeshdata.erf)&lt;br /&gt;
pf_rob_chaa.mao (materialobjects.erf)&lt;br /&gt;
pf_rob_chaa_0d.dds, pf_rob_chaa_0n.dds, pf_rob_chaa_0s.dds, pf_rob_chaa_0t.dds (texturepack.erf)&lt;br /&gt;
и распаковываем в отдельную папку. Всего на выходе должно получится 8 файлов.&lt;br /&gt;
&lt;br /&gt;
А теперь перейдем в 3ds max. Прежде, чем приступить непосредственно к конвентированию, настроим плагин для 3ds max. Мне гораздо удобнее запускать сразу скрипты, чем захламлять разными кнопками рабочее пространство редактора. Для запуска конфигуратора запустим скрипт (Max Script-&amp;gt;Run Script) DAOToolsSetup находящийся по адресу C:\Program Files\Autodesk\3dsMax8\Scripts\DAOTools.&lt;br /&gt;
&lt;br /&gt;
Итак, приступим, к настройке. В строке Game Path указываем адрес к папке с игрой. В Export Path указываем, куда будут сохранятся экспортированные файлы. Т.к. наша модель будет заменять уже имеющуюся, то укажем там адрес [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ Ползунок World Scale ставим на значение 100. Дело в том, что в своем «естественном» виде, модели ДА очень маленькие. Для комфортной работы с ними нужно увеличить их в 100 (сто) раз. Эта функция как раз создана для того, чтобы на время работы увеличивать модель в удобный размер, а экспортируя обратно возвращая к естественным размерам. Все остальное оставляем нетронутым и нажимаем ОК. Конфигуратор перед закрытием проинформирует нас о возможности в любой момент изменить настройки, не пугайтесь выскочившего окна.&lt;br /&gt;
&lt;br /&gt;
И вот наконец теперь можно заняться непосредственно конвертированием. В окне редактора у нас должна уже быть открыта сама модель. Следующее, что нам нужно сделать, это загрузить оригинальную модель из ДАО. Для этого запускаем скрипт DAOImport. В пункте File секции Model Import указываем месторасположение недавно вытащенного нами .mmh файла (hf_rob_chaa_0.mmh). Нажимаем на кнопку Import, специальное окно известит нас о готовности к импорту, жмем ОК и ждем 5-30 секунд (в зависимости от мощности компьютера) пока загрузится модель.&lt;br /&gt;
&lt;br /&gt;
Для начала скроем все, что нам в данный момент не понадобится. Откроем Schematic View (Graph Editors-&amp;gt; New Schematic View) &lt;br /&gt;
&lt;br /&gt;
Здесь можно увидеть две большие древовидные структуры – это обе наши модели с их иерархией. Полностью выделим структуру оригинальной модели (легко определить по наличию в ней зеленых элементов). Сворачиваем Schematic View. В основном рабочем окне можно увидеть, что выделена оригинальная игровая модель и все ее элементы &lt;br /&gt;
&lt;br /&gt;
Теперь снимем выделение с самой робы, так чтобы выделенными остались лишь второстепенные элементы. Скроем их, чтобы не мешались, они нам все-равно не понадобятся. Для этого нажмем по пустому пространству рабочей области правой кнопкой мыши-&amp;gt;hide selection. Теперь осталось только зафиксировать оригинальную модель. Для этого выделяем ее и правой кнопкой мыши-&amp;gt;properties.&lt;br /&gt;
Поставьте напротив опции Freeze секции interactivity, уберите напротив опции Show Frozen in Gray секции display Properties соответственно. Все, теперь оригинальная модель зафиксирована и защищена от случайных манипуляций.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подогнать модель платья Кристины под габариты игровой робы. Желательно сделать это как можно точнее. Для трансформации модели лучше всего воздействовать на ее кости, так гораздо удобнее. Масштабируем, поворачиваем и двигаем кости так, чтобы модель ровно легла в очертания оригинальной робы. Разводим руки, сводим ноги – процесс нужно делать на «глазок».&lt;br /&gt;
&lt;br /&gt;
== Working with materials ==&lt;br /&gt;
*NOTE: Работать с материалами нужно до риггинга. Иначе будут проблемы.&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Важное отступление - если ваша модель полностью покрывается одной текстурой, то ничего из нижеописанного вам проделывать не нужно.&lt;br /&gt;
Сейчас нам нужно объединить несколько материалов в один. Процесс не тривиальный. Итак, когда вы откроете редактор координат, то увидите вот такую картину:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Зеленые линии - это координаты модели на текстуре. Многие игровые движки используют все пространство редактора, но не ДАО. Наша игра не видит ничего за границами выделенного квадрата. Наша задача - передвинуть все координаты во внутрь этого квадрата. Во вкладке All ID's можно выбирать отдельные материалы и двигать их. Наложите текстуру, которую вы создали в фотошопе и согласно ее контурам отмасштабируте и перенесите ее на соответствующее место. Тоже самое нужно бьудет проделать и со всеми сетами материалов, чтобы в конце-концов получилось что-то вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
После этого можно закрывать редактор координат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Continue working with materials ==&lt;br /&gt;
&lt;br /&gt;
На верхней панели инструментов найдем кнопку редактора метериалов (четыре разноцветных шара) &lt;br /&gt;
Далее нажимаем Get Material и выбираем из списка Dragon Age Material (если плагин установлен правильно, то он в списке будет) &lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
&lt;br /&gt;
В Material Type указываем Character, в Render Semantics – [Armor w / Skin Tint][Alpha Blending][No Emissive]. Разворачиваем список Texture Maps и назначаем соответствующие текстуры. Далее Assign Material to Selection (платье должно быть выделенным). Если так хочется увидеть текстуру в редакторе, то жмем Show Map in Viewport. Осталось только дать нашему материалу нормальное имя. В соответствующем поле введем pf_rob_chaz_0. Вот и все.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Rigging ==&lt;br /&gt;
&lt;br /&gt;
* [https://youtu.be/1QMcAX1cDyo Rigging tutorial]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Как только наша модель полностью ляжет в очертания оригинальной робы, можно приступать к следующей фазе &lt;br /&gt;
Выделим нашу модель, правой кнопкой мыши по пустому месту-&amp;gt;Convert To-&amp;gt; Convert To Editable Mesh.&lt;br /&gt;
Теперь полностью выделяем все объекты, снимаем выделение с самой модели платья Кристины (выделеными должны остаться все объекты КРОМЕ платья Кристины) и удаляем. Должны остаться только церковная роба и платье Кристины. Далее правой кнопкой мыши по пустому месту-&amp;gt;Unfreeze All. Это разморозит оригинальную робу, сделав ее доступной для редактирования. Затем в списке ее модификаторов выделим Skin и Edit Normals (с зажатым CTRL). Правой кнопкой мыши по ним-&amp;gt;Cut. Из списка модификаторов они должны исчезнуть. Далее правой кнопкой мыши по пустому месту рабочего пространства-&amp;gt;Convert To-&amp;gt;Convert To Editable Mesh. Это низведет оригинальную робу в тоже состояние, в котором сейчас пребывает и платье Кристины.&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем в режим редактирования полигонов &lt;br /&gt;
&lt;br /&gt;
[[File:Polygon.png|border]]&lt;br /&gt;
 &lt;br /&gt;
Нажмите CTL+ A Вся оригинальная роба должна окраситься в красный цвет выделения. Далее нужно снять выделение с одного-единственного полигона (делается с зажатой клавишей ALT). Какого именно – неважно, главное чтобы он был на виду и до него было просто добраться. Я выбрал один у самых ног. Все, что теперь нужно сделать – нажать кнопку Delete. Это удалит всю модель, кроме одного оставленного нами полигона. Теперь нам нужно прирастить к этому полигону платье Кристины. Для этого выберем на панели инструментов справа кнопку Attach  и нажмем мышью на скафандр. Появится окно, выбрать опцию Match Material to Material IDs. Жмем ОК. Теперь нужно убрать последний полигон оригинальной робы. Вновь переходим в режим редактирования полигонов (предварительно «отжав» кнопку attach), находим когда-то оставленный нами полигон и удаляем его. Все, теперь уже не осталось ничего, что напоминало-бы нам о церковной робе.&lt;br /&gt;
&lt;br /&gt;
Вы должны закончить со всеми правками модели до того, как добавите модификатор Unwrap UVW. Если ваша модель выглядит грубой, то необходимо  исправить:&lt;br /&gt;
ПКМ -&amp;gt; converto to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld -&amp;gt; Convert to editable Mesh&lt;br /&gt;
&lt;br /&gt;
'''Note:'''Закончите все правки модели и материалов до следующего шага - после него все изменения не отобразятся на конечном результате и придется переделывать. &lt;br /&gt;
&lt;br /&gt;
В списке модификаторов нашей модели найдем Unwrap UVW и добавим его к нашей модели. Модель должна окраситься ярко зелеными линиями.&lt;br /&gt;
&lt;br /&gt;
Далее правой кнопкой мыши по списку модификаторов-&amp;gt;Paste. Список модификаторов должен стать таким (сверху-вниз: Skin, Edit Normals, Unwrap UVW)&lt;br /&gt;
&lt;br /&gt;
С самой моделью мы наконец закончили.&lt;br /&gt;
&lt;br /&gt;
== Dress with crinoline ==&lt;br /&gt;
[[File:Crinoline_dressDAO.jpg|border]]&lt;br /&gt;
*[https://youtu.be/_q4mmFMmIK8 Как сделать платье с кринолином]&lt;br /&gt;
&lt;br /&gt;
== Export ==&lt;br /&gt;
&lt;br /&gt;
Для этого запускаем скрипт DAOModelExport. Нам предстанет вот так вот такое окно:&lt;br /&gt;
&lt;br /&gt;
[[File:Export.png|border]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Между Name и .MMH вписать hf_rob_chaa_0. Между Name и .MSH вписать тоже самое (если этого не сделалось автоматически). Отметить опцию Create MAO Material File. Все, теперь жмем Export. По окончании процесса экспорта в папке [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ должны появится пять новых файлов&lt;br /&gt;
hf_rob_chaa_0.phy&lt;br /&gt;
hf_rob_chaa_0.msh&lt;br /&gt;
hf_rob_chaa_0.mmh&lt;br /&gt;
hf_rob_chaa_0.met&lt;br /&gt;
pf_rob_chaz_0.mao&lt;br /&gt;
Там-же уже должны находится обе текстуры. Ну, вот собственно и все. Модель готова, можно запускать игру и смотреть результат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Addding custom shield ==&lt;br /&gt;
&lt;br /&gt;
Процесс тот же самый с разницей, что щиту не нужен rigging.&lt;br /&gt;
  &lt;br /&gt;
1) Импортируйте любой щит из игры. В отличие от брони тут не нужно следить за размером - ЛЮБОЙ щит подойдет.&lt;br /&gt;
&lt;br /&gt;
2) Импортируйте ваш щит в ту же сцену и погдгоните его размер к тому, что из игры.&lt;br /&gt;
&lt;br /&gt;
3) Сделайте из ващего нового щита ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. Collapse any active modifiers on the &amp;quot;new&amp;quot; item. Then add a new &amp;quot;unwrap UVW&amp;quot; modiefier to it, and double click it to open the UVW window. then drag and select everything you see there, and DRAG IT ANYWHERE OUTSIDE THE OUTLINED BOX IN THE CENTER. This will make life easier for you in step 6.&lt;br /&gt;
&lt;br /&gt;
4) Выберите щит из игры и выберете все модификаторы исключая &amp;quot;unwrap UVW&amp;quot;. ПКМ -&amp;gt;&amp;quot;cut&amp;quot;, а не удалить, потому что м ыбудем их использовать. Далее ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
5) Теперь &amp;quot;attach&amp;quot; щит из ДАО к вашему новому щиту. &lt;br /&gt;
&lt;br /&gt;
6) Добавть новый &amp;quot;unwrap uvw&amp;quot; к этому mesh. Проверьте все ли модификаторы на месте - press the &amp;quot;+&amp;quot; слева. Выберите &amp;quot;face&amp;quot;, и выберете все, что внутри the outlined box в середине. ПКМ &amp;quot;unwrap UVW&amp;quot; и выберете &amp;quot;collapse to&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
7) Потом нажмите &amp;quot;+&amp;quot; слева от слов &amp;quot;editable mesh&amp;quot;. Выберте &amp;quot;element&amp;quot; и удалите. Вставьте все модификаторы, которые мы вырезали на шаге 4.&lt;br /&gt;
&lt;br /&gt;
8) Добавьте текстуры и экспортируйте.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Customisation of original Dragon age armor]]&lt;br /&gt;
*[[Adding custom shield tutorial]]&lt;br /&gt;
*[[Adding custom level tutorial]] - Add your own level.&lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/423834-the-witcher-1-armors-in-da-origins/page-2#entry3544131 How to add new armor to DAO on English] &lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/1122450-loincloth-fashion/page-56#entry16909714 How to fix GDA conflict]&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/3974/? Item Variation ID spreadsheet modification]&lt;br /&gt;
*[https://youtu.be/370D7Lul9tk Skinning tutorial]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19827</id>
		<title>Adding custom armor tutorial/ru</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19827"/>
				<updated>2017-10-24T06:39:08Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* 3D MAX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ходе этого туториала мы импортируем платье Кристины Веспуччи из Assassins Creed: Brotherhood в ДАО. Вернее из XNA Lara, потому что ничего другого я не нашел. Это платье я выбрал не случайно - в ходе его адаптации мы используем все те приемы, которые часто используются в этом процессе (&amp;quot;дырявая ткань&amp;quot; аля кружева, текстуры кложи, зависящие от кожи персонажа, многослойный материал и т.д.).Это будет всего-лишь реплейсер, заменитель. Заменять будем церковную робу - просто потому что ее легче всего достать (в прологе мага, например, или с Лелианы в Лотеринге). Ну чтож, приступим...&lt;br /&gt;
Инструменты, что нам понадобятся:&lt;br /&gt;
*3ds max (или бесплатная версия - gmax). 3ds max не старше 2011 года- скрипт по импорту не будет работать.&lt;br /&gt;
*Dragon Age Origins&lt;br /&gt;
*Dragon Age Toolset&lt;br /&gt;
*Adobe Photoshop 32 version only because Nvidia DDS Plugin work only with 32 program.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] (плагин для 3ds max)&lt;br /&gt;
*Вы можете использовать эту программу [http://www.nexusmods.com/dragonage/mods/214/? GDA Editor] для файлов GDA типа.&lt;br /&gt;
*Движок не сможет работать с моделью больше 45 000 полигонов (Faces) и 30 000 вершин (Vertices).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Сделите за тем, куда вы устанавливаете все программы- program files(x86) для 32 битных программ на 64 bit компьютерах. Скрипт экспорта и сама игра должны быть в одной папке program files.&lt;br /&gt;
&lt;br /&gt;
Установка скрипта Eshme Import/Export: Startup, YAGG и DAOTools добавить в C(диск):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
Настройка. Если вы все сделали правильно, то при первом запуске возникнет окно с настройками. &lt;br /&gt;
&lt;br /&gt;
В Game Path должно быть указано папка с игрой аля C:\Program Files (x86)\Dragon Age, в Export Path папка Override в документах аля C:\Program Files (x86)\Dragon Age\packages\core\override. Наличие установленного тулсета самой последней версии  ОБЯЗАТЕЛЬНО. Сам тулсет должен быть установлен в папку с игрой и после этого вы сможете начать работу в 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures preparation ==&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся четыре: диффузная карта (основная, видимая текстура), нормал карта (однотонная рельефная карта), спекуляр карта (она помогает настроить освещение конкретно под модель) и тинт карта (она говорит двужку где кожа, а где не изменная ткань). Так как исходная модель содержит несколько материалов, то и наборов текстур тоже несколько. Это значит, что например диффузных карт будет тоже несколько.&lt;br /&gt;
Сначала переведем их в формат .DDS с помощью фотошопа. Помните, что размер текстур ВСЕГДА должен быть кратным 4: 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192.&lt;br /&gt;
&lt;br /&gt;
Diffuse map:&lt;br /&gt;
Кожа обязательно должна быть перведена в бледно-серый цвет, чтобы максимально корректно отображать цвет кожи. Должно получиться примерно так:&lt;br /&gt;
 &lt;br /&gt;
[[File:Skin1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
В альфа канале (если его нету, то создаем его с названием Alpha 1) выделяем черным те области, которые будут &amp;quot;дырками&amp;quot;, белое так и останется не прозрачным. Получиться должно нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Normal map: &lt;br /&gt;
Нужно перенести текстуру в монотонно серый. Помимо этого, нужно еще изменить изображение альфа-канала на идентичный зеленому каналу. Должно получится нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Spectacular map:&lt;br /&gt;
Почти ничем не отличается от диффузной, только чуть более темней. Элементы с кожей в обязательном порядке нужно модифицировать. Цвет нужно изменить на темно-красный, почти черный. Саму область нужно подвергнуть обработке: image-&amp;gt; adjustments -&amp;gt;brightness/contrast значение выставлять примерно такие brightness -45, contrast 95. В итоге кожа должна стать примерно такой:&lt;br /&gt;
&lt;br /&gt;
[[File:Spectacularex.png|border]]&lt;br /&gt;
&lt;br /&gt;
* Note: В альфа канал спекуляр карты нужно просто скопировать синий канал. '''Делать это нужно уже после того, как разберетесь с участками кожи.'''Чем больше белого на текстуре _s тем больше и интенсивней будет блеск.&lt;br /&gt;
&lt;br /&gt;
Tint map:&lt;br /&gt;
* '''Note: Не нужна вам если на вашей броне нет участков кожи'''&lt;br /&gt;
Самая простая текстура - работать будет только в альфа канале. Всю текстуру полностью залейте черным цветом. В альфа канале нужно будет сделать примерно тоже самое, что мы уже проделали с альфа каналом диффузной карты, только на этот раз черным будут зоны, которые будут менять тон в соответствии с кожей персонажа, а белые оставаться не изменными. Эта тесктура полностью залита черным потому, что она полностью покрывает кожу и участки, а значит и выделываться здесь смысла нет. То есть да - конкретно в нашем случае должна получиться полностью черная текстура - все четыре канала залиты черным.&lt;br /&gt;
&lt;br /&gt;
== Connecting textures ==&lt;br /&gt;
Cоединение текстур. Как я уже упомянал, платье Кристины Веспуччи содержит несколько материалов. Движок ДАО может поддерживать только один материал, а значит нам придется все текстуры объединить.&lt;br /&gt;
Самое главное в том, что один раз определившись порядком текстур, нужно придерживаться его постоянно. В общем, нам нужно выстроить примерно такую конструкцию:&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
'''*Note: Запомните положение текстур, оно вам понадобится при объединении материалов в 3ds Max.'''Тоже самое и для остальных карт (нормали, спекуляр и тинт). Альфа каналы выстраиваем так же. Размер текстур должен быть кратным 4.&lt;br /&gt;
&lt;br /&gt;
== Save textures ==&lt;br /&gt;
&lt;br /&gt;
Текстуры нужно сохранять с такими настройками: &lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Normal map:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Все, на этом в фотошопе закончено. Можно его закрывать. Переименуйте текстуры в hf_rob_chaz_0n.dds (normal-текстура), hf_rob_chaz_0d (diffuse-текстура), hf_rob_chaz_0s (спекуляр) и hf_rob_chaz_0t (тинт карта). Сами текстуры уже можно переместить в папку [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
&lt;br /&gt;
== Names ==&lt;br /&gt;
Очень важно для GDA. &lt;br /&gt;
Текстуры надо называть так: [принадлежность полу-расе]_[тип брони\одежды]_[уникальный индекс из 4 букв]_0[тип текстуры].&lt;br /&gt;
Принадлежность полу расе обозначается так:&lt;br /&gt;
*hf- жен. человек&lt;br /&gt;
*hm- муж. человек&lt;br /&gt;
*ef- жен. эльф&lt;br /&gt;
*em- муж. эльф&lt;br /&gt;
*df- жен. гном&lt;br /&gt;
*dm- муж. гном&lt;br /&gt;
*qm- кунари-мужик&lt;br /&gt;
Броня:&lt;br /&gt;
*arm - броня&lt;br /&gt;
*rob - роба (мага, церковника)&lt;br /&gt;
*cth - одежда (дворянина, свадебная)&lt;br /&gt;
Helmets:&lt;br /&gt;
*hlh - for mages.&lt;br /&gt;
*hlf - massive ones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Уникальный индекс можете выбрать любой. Главное помните - не больше 4 букв и не занятый другой вещью.'''&lt;br /&gt;
&lt;br /&gt;
Типов текстур 5:&lt;br /&gt;
*d - диффузная (Duffise)&lt;br /&gt;
*n - нормаль (Normal)&lt;br /&gt;
*s - спекуляр (Spectacular)&lt;br /&gt;
*t - тинт (Tint)&lt;br /&gt;
*e - эммиссив (Emissive) Нужна для свечения аля скай-фай броня. В дао почти не используется)&lt;br /&gt;
В итоге должно получиться нечто вроде такого: hf_rob_xmpl_0d или em_arm_exmp_0n. &lt;br /&gt;
'''*NOTE: Сам материал (название материала в максе, потом это будет MAO файл) именуем также, только без типа текстуры. Например: hf_rob_xmpl или em_arm_exmp. Модель именуется так-же, только с цифрой детализации в конце: hf_rob_xmpl_0 или em_arm_exmp_0'''&lt;br /&gt;
&lt;br /&gt;
== 3D MAX ==&lt;br /&gt;
'''NOTE: Если ваша броня выглядит слишком &amp;quot;грубой&amp;quot;, то это можно исправить ПКМ-&amp;gt; Convert to Edit Poly -&amp;gt; Режим Vertex на панели справа -&amp;gt; press button Weld (Vertexes) на панели справа. Можно там же использовать и Smooth, но будьте осторожны- это добавит новые полигоны ваша модель может не подойти для движка.'''&lt;br /&gt;
&lt;br /&gt;
В ходе адаптации модели нам понадобится максимально похожий образец из оригинальной игры. В моем случае я выбрал церковную робу (hf_rob_chaa) – этакий универсальный образец, который подходит для большинства случаев. В Toolset’е откроем архивы modelhierarchies.erf materialobjects.erf modelmeshdata.erf (найти их можно по даресу [имя_диска_с_игрой]: \Dragon Age\packages\core\data). Так-же откроем архив texturepack.erf находящийся по адресу [имя_диска_с_игрой]:\Dragon Age\packages\core\textures\high. В этих архивах находим файлы&lt;br /&gt;
hf_rob_chaa_0.mmh, hf_rob_chaa_0.phy (modelhierarchies.erf)&lt;br /&gt;
hf_rob_chaa_0.msh (modelmeshdata.erf)&lt;br /&gt;
pf_rob_chaa.mao (materialobjects.erf)&lt;br /&gt;
pf_rob_chaa_0d.dds, pf_rob_chaa_0n.dds, pf_rob_chaa_0s.dds, pf_rob_chaa_0t.dds (texturepack.erf)&lt;br /&gt;
и распаковываем в отдельную папку. Всего на выходе должно получится 8 файлов.&lt;br /&gt;
&lt;br /&gt;
А теперь перейдем в 3ds max. Прежде, чем приступить непосредственно к конвентированию, настроим плагин для 3ds max. Мне гораздо удобнее запускать сразу скрипты, чем захламлять разными кнопками рабочее пространство редактора. Для запуска конфигуратора запустим скрипт (Max Script-&amp;gt;Run Script) DAOToolsSetup находящийся по адресу C:\Program Files\Autodesk\3dsMax8\Scripts\DAOTools.&lt;br /&gt;
&lt;br /&gt;
Итак, приступим, к настройке. В строке Game Path указываем адрес к папке с игрой. В Export Path указываем, куда будут сохранятся экспортированные файлы. Т.к. наша модель будет заменять уже имеющуюся, то укажем там адрес [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ Ползунок World Scale ставим на значение 100. Дело в том, что в своем «естественном» виде, модели ДА очень маленькие. Для комфортной работы с ними нужно увеличить их в 100 (сто) раз. Эта функция как раз создана для того, чтобы на время работы увеличивать модель в удобный размер, а экспортируя обратно возвращая к естественным размерам. Все остальное оставляем нетронутым и нажимаем ОК. Конфигуратор перед закрытием проинформирует нас о возможности в любой момент изменить настройки, не пугайтесь выскочившего окна.&lt;br /&gt;
&lt;br /&gt;
И вот наконец теперь можно заняться непосредственно конвертированием. В окне редактора у нас должна уже быть открыта сама модель. Следующее, что нам нужно сделать, это загрузить оригинальную модель из ДАО. Для этого запускаем скрипт DAOImport. В пункте File секции Model Import указываем месторасположение недавно вытащенного нами .mmh файла (hf_rob_chaa_0.mmh). Нажимаем на кнопку Import, специальное окно известит нас о готовности к импорту, жмем ОК и ждем 5-30 секунд (в зависимости от мощности компьютера) пока загрузится модель.&lt;br /&gt;
&lt;br /&gt;
Для начала скроем все, что нам в данный момент не понадобится. Откроем Schematic View (Graph Editors-&amp;gt; New Schematic View) &lt;br /&gt;
&lt;br /&gt;
Здесь можно увидеть две большие древовидные структуры – это обе наши модели с их иерархией. Полностью выделим структуру оригинальной модели (легко определить по наличию в ней зеленых элементов). Сворачиваем Schematic View. В основном рабочем окне можно увидеть, что выделена оригинальная игровая модель и все ее элементы &lt;br /&gt;
&lt;br /&gt;
Теперь снимем выделение с самой робы, так чтобы выделенными остались лишь второстепенные элементы. Скроем их, чтобы не мешались, они нам все-равно не понадобятся. Для этого нажмем по пустому пространству рабочей области правой кнопкой мыши-&amp;gt;hide selection. Теперь осталось только зафиксировать оригинальную модель. Для этого выделяем ее и правой кнопкой мыши-&amp;gt;properties.&lt;br /&gt;
Поставьте напротив опции Freeze секции interactivity, уберите напротив опции Show Frozen in Gray секции display Properties соответственно. Все, теперь оригинальная модель зафиксирована и защищена от случайных манипуляций.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подогнать модель платья Кристины под габариты игровой робы. Желательно сделать это как можно точнее. Для трансформации модели лучше всего воздействовать на ее кости, так гораздо удобнее. Масштабируем, поворачиваем и двигаем кости так, чтобы модель ровно легла в очертания оригинальной робы. Разводим руки, сводим ноги – процесс нужно делать на «глазок».&lt;br /&gt;
&lt;br /&gt;
== Working with materials ==&lt;br /&gt;
*NOTE: Работать с материалами нужно до риггинга. Иначе будут проблемы.&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Важное отступление - если ваша модель полностью покрывается одной текстурой, то ничего из нижеописанного вам проделывать не нужно.&lt;br /&gt;
Сейчас нам нужно объединить несколько материалов в один. Процесс не тривиальный. Итак, когда вы откроете редактор координат, то увидите вот такую картину:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Зеленые линии - это координаты модели на текстуре. Многие игровые движки используют все пространство редактора, но не ДАО. Наша игра не видит ничего за границами выделенного квадрата. Наша задача - передвинуть все координаты во внутрь этого квадрата. Во вкладке All ID's можно выбирать отдельные материалы и двигать их. Наложите текстуру, которую вы создали в фотошопе и согласно ее контурам отмасштабируте и перенесите ее на соответствующее место. Тоже самое нужно бьудет проделать и со всеми сетами материалов, чтобы в конце-концов получилось что-то вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
После этого можно закрывать редактор координат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Continue working with materials ==&lt;br /&gt;
&lt;br /&gt;
На верхней панели инструментов найдем кнопку редактора метериалов (четыре разноцветных шара) &lt;br /&gt;
Далее нажимаем Get Material и выбираем из списка Dragon Age Material (если плагин установлен правильно, то он в списке будет) &lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
&lt;br /&gt;
В Material Type указываем Character, в Render Semantics – [Armor w / Skin Tint][Alpha Blending][No Emissive]. Разворачиваем список Texture Maps и назначаем соответствующие текстуры. Далее Assign Material to Selection (платье должно быть выделенным). Если так хочется увидеть текстуру в редакторе, то жмем Show Map in Viewport. Осталось только дать нашему материалу нормальное имя. В соответствующем поле введем pf_rob_chaz_0. Вот и все.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Rigging ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Как только наша модель полностью ляжет в очертания оригинальной робы, можно приступать к следующей фазе &lt;br /&gt;
Выделим нашу модель, правой кнопкой мыши по пустому месту-&amp;gt;Convert To-&amp;gt; Convert To Editable Mesh.&lt;br /&gt;
Теперь полностью выделяем все объекты, снимаем выделение с самой модели платья Кристины (выделеными должны остаться все объекты КРОМЕ платья Кристины) и удаляем. Должны остаться только церковная роба и платье Кристины. Далее правой кнопкой мыши по пустому месту-&amp;gt;Unfreeze All. Это разморозит оригинальную робу, сделав ее доступной для редактирования. Затем в списке ее модификаторов выделим Skin и Edit Normals (с зажатым CTRL). Правой кнопкой мыши по ним-&amp;gt;Cut. Из списка модификаторов они должны исчезнуть. Далее правой кнопкой мыши по пустому месту рабочего пространства-&amp;gt;Convert To-&amp;gt;Convert To Editable Mesh. Это низведет оригинальную робу в тоже состояние, в котором сейчас пребывает и платье Кристины.&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем в режим редактирования полигонов &lt;br /&gt;
&lt;br /&gt;
[[File:Polygon.png|border]]&lt;br /&gt;
 &lt;br /&gt;
Нажмите CTL+ A Вся оригинальная роба должна окраситься в красный цвет выделения. Далее нужно снять выделение с одного-единственного полигона (делается с зажатой клавишей ALT). Какого именно – неважно, главное чтобы он был на виду и до него было просто добраться. Я выбрал один у самых ног. Все, что теперь нужно сделать – нажать кнопку Delete. Это удалит всю модель, кроме одного оставленного нами полигона. Теперь нам нужно прирастить к этому полигону платье Кристины. Для этого выберем на панели инструментов справа кнопку Attach  и нажмем мышью на скафандр. Появится окно, выбрать опцию Match Material to Material IDs. Жмем ОК. Теперь нужно убрать последний полигон оригинальной робы. Вновь переходим в режим редактирования полигонов (предварительно «отжав» кнопку attach), находим когда-то оставленный нами полигон и удаляем его. Все, теперь уже не осталось ничего, что напоминало-бы нам о церковной робе.&lt;br /&gt;
&lt;br /&gt;
Вы должны закончить со всеми правками модели до того, как добавите модификатор Unwrap UVW. Если ваша модель выглядит грубой, то необходимо  исправить:&lt;br /&gt;
ПКМ -&amp;gt; converto to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld -&amp;gt; Convert to editable Mesh&lt;br /&gt;
&lt;br /&gt;
'''Note:'''Закончите все правки модели и материалов до следующего шага - после него все изменения не отобразятся на конечном результате и придется переделывать. &lt;br /&gt;
&lt;br /&gt;
В списке модификаторов нашей модели найдем Unwrap UVW и добавим его к нашей модели. Модель должна окраситься ярко зелеными линиями.&lt;br /&gt;
&lt;br /&gt;
Далее правой кнопкой мыши по списку модификаторов-&amp;gt;Paste. Список модификаторов должен стать таким (сверху-вниз: Skin, Edit Normals, Unwrap UVW)&lt;br /&gt;
&lt;br /&gt;
С самой моделью мы наконец закончили.&lt;br /&gt;
&lt;br /&gt;
== Dress with crinoline ==&lt;br /&gt;
[[File:Crinoline_dressDAO.jpg|border]]&lt;br /&gt;
*[https://youtu.be/_q4mmFMmIK8 Как сделать платье с кринолином]&lt;br /&gt;
&lt;br /&gt;
== Export ==&lt;br /&gt;
&lt;br /&gt;
Для этого запускаем скрипт DAOModelExport. Нам предстанет вот так вот такое окно:&lt;br /&gt;
&lt;br /&gt;
[[File:Export.png|border]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Между Name и .MMH вписать hf_rob_chaa_0. Между Name и .MSH вписать тоже самое (если этого не сделалось автоматически). Отметить опцию Create MAO Material File. Все, теперь жмем Export. По окончании процесса экспорта в папке [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ должны появится пять новых файлов&lt;br /&gt;
hf_rob_chaa_0.phy&lt;br /&gt;
hf_rob_chaa_0.msh&lt;br /&gt;
hf_rob_chaa_0.mmh&lt;br /&gt;
hf_rob_chaa_0.met&lt;br /&gt;
pf_rob_chaz_0.mao&lt;br /&gt;
Там-же уже должны находится обе текстуры. Ну, вот собственно и все. Модель готова, можно запускать игру и смотреть результат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Addding custom shield ==&lt;br /&gt;
&lt;br /&gt;
Процесс тот же самый с разницей, что щиту не нужен rigging.&lt;br /&gt;
  &lt;br /&gt;
1) Импортируйте любой щит из игры. В отличие от брони тут не нужно следить за размером - ЛЮБОЙ щит подойдет.&lt;br /&gt;
&lt;br /&gt;
2) Импортируйте ваш щит в ту же сцену и погдгоните его размер к тому, что из игры.&lt;br /&gt;
&lt;br /&gt;
3) Сделайте из ващего нового щита ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. Collapse any active modifiers on the &amp;quot;new&amp;quot; item. Then add a new &amp;quot;unwrap UVW&amp;quot; modiefier to it, and double click it to open the UVW window. then drag and select everything you see there, and DRAG IT ANYWHERE OUTSIDE THE OUTLINED BOX IN THE CENTER. This will make life easier for you in step 6.&lt;br /&gt;
&lt;br /&gt;
4) Выберите щит из игры и выберете все модификаторы исключая &amp;quot;unwrap UVW&amp;quot;. ПКМ -&amp;gt;&amp;quot;cut&amp;quot;, а не удалить, потому что м ыбудем их использовать. Далее ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
5) Теперь &amp;quot;attach&amp;quot; щит из ДАО к вашему новому щиту. &lt;br /&gt;
&lt;br /&gt;
6) Добавть новый &amp;quot;unwrap uvw&amp;quot; к этому mesh. Проверьте все ли модификаторы на месте - press the &amp;quot;+&amp;quot; слева. Выберите &amp;quot;face&amp;quot;, и выберете все, что внутри the outlined box в середине. ПКМ &amp;quot;unwrap UVW&amp;quot; и выберете &amp;quot;collapse to&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
7) Потом нажмите &amp;quot;+&amp;quot; слева от слов &amp;quot;editable mesh&amp;quot;. Выберте &amp;quot;element&amp;quot; и удалите. Вставьте все модификаторы, которые мы вырезали на шаге 4.&lt;br /&gt;
&lt;br /&gt;
8) Добавьте текстуры и экспортируйте.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Customisation of original Dragon age armor]]&lt;br /&gt;
*[[Adding custom shield tutorial]]&lt;br /&gt;
*[[Adding custom level tutorial]] - Add your own level.&lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/423834-the-witcher-1-armors-in-da-origins/page-2#entry3544131 How to add new armor to DAO on English] &lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/1122450-loincloth-fashion/page-56#entry16909714 How to fix GDA conflict]&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/3974/? Item Variation ID spreadsheet modification]&lt;br /&gt;
*[https://youtu.be/370D7Lul9tk Skinning tutorial]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19826</id>
		<title>Adding custom armor tutorial/ru</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19826"/>
				<updated>2017-10-24T06:38:47Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* 3D MAX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ходе этого туториала мы импортируем платье Кристины Веспуччи из Assassins Creed: Brotherhood в ДАО. Вернее из XNA Lara, потому что ничего другого я не нашел. Это платье я выбрал не случайно - в ходе его адаптации мы используем все те приемы, которые часто используются в этом процессе (&amp;quot;дырявая ткань&amp;quot; аля кружева, текстуры кложи, зависящие от кожи персонажа, многослойный материал и т.д.).Это будет всего-лишь реплейсер, заменитель. Заменять будем церковную робу - просто потому что ее легче всего достать (в прологе мага, например, или с Лелианы в Лотеринге). Ну чтож, приступим...&lt;br /&gt;
Инструменты, что нам понадобятся:&lt;br /&gt;
*3ds max (или бесплатная версия - gmax). 3ds max не старше 2011 года- скрипт по импорту не будет работать.&lt;br /&gt;
*Dragon Age Origins&lt;br /&gt;
*Dragon Age Toolset&lt;br /&gt;
*Adobe Photoshop 32 version only because Nvidia DDS Plugin work only with 32 program.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] (плагин для 3ds max)&lt;br /&gt;
*Вы можете использовать эту программу [http://www.nexusmods.com/dragonage/mods/214/? GDA Editor] для файлов GDA типа.&lt;br /&gt;
*Движок не сможет работать с моделью больше 45 000 полигонов (Faces) и 30 000 вершин (Vertices).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Сделите за тем, куда вы устанавливаете все программы- program files(x86) для 32 битных программ на 64 bit компьютерах. Скрипт экспорта и сама игра должны быть в одной папке program files.&lt;br /&gt;
&lt;br /&gt;
Установка скрипта Eshme Import/Export: Startup, YAGG и DAOTools добавить в C(диск):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
Настройка. Если вы все сделали правильно, то при первом запуске возникнет окно с настройками. &lt;br /&gt;
&lt;br /&gt;
В Game Path должно быть указано папка с игрой аля C:\Program Files (x86)\Dragon Age, в Export Path папка Override в документах аля C:\Program Files (x86)\Dragon Age\packages\core\override. Наличие установленного тулсета самой последней версии  ОБЯЗАТЕЛЬНО. Сам тулсет должен быть установлен в папку с игрой и после этого вы сможете начать работу в 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures preparation ==&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся четыре: диффузная карта (основная, видимая текстура), нормал карта (однотонная рельефная карта), спекуляр карта (она помогает настроить освещение конкретно под модель) и тинт карта (она говорит двужку где кожа, а где не изменная ткань). Так как исходная модель содержит несколько материалов, то и наборов текстур тоже несколько. Это значит, что например диффузных карт будет тоже несколько.&lt;br /&gt;
Сначала переведем их в формат .DDS с помощью фотошопа. Помните, что размер текстур ВСЕГДА должен быть кратным 4: 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192.&lt;br /&gt;
&lt;br /&gt;
Diffuse map:&lt;br /&gt;
Кожа обязательно должна быть перведена в бледно-серый цвет, чтобы максимально корректно отображать цвет кожи. Должно получиться примерно так:&lt;br /&gt;
 &lt;br /&gt;
[[File:Skin1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
В альфа канале (если его нету, то создаем его с названием Alpha 1) выделяем черным те области, которые будут &amp;quot;дырками&amp;quot;, белое так и останется не прозрачным. Получиться должно нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Normal map: &lt;br /&gt;
Нужно перенести текстуру в монотонно серый. Помимо этого, нужно еще изменить изображение альфа-канала на идентичный зеленому каналу. Должно получится нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Spectacular map:&lt;br /&gt;
Почти ничем не отличается от диффузной, только чуть более темней. Элементы с кожей в обязательном порядке нужно модифицировать. Цвет нужно изменить на темно-красный, почти черный. Саму область нужно подвергнуть обработке: image-&amp;gt; adjustments -&amp;gt;brightness/contrast значение выставлять примерно такие brightness -45, contrast 95. В итоге кожа должна стать примерно такой:&lt;br /&gt;
&lt;br /&gt;
[[File:Spectacularex.png|border]]&lt;br /&gt;
&lt;br /&gt;
* Note: В альфа канал спекуляр карты нужно просто скопировать синий канал. '''Делать это нужно уже после того, как разберетесь с участками кожи.'''Чем больше белого на текстуре _s тем больше и интенсивней будет блеск.&lt;br /&gt;
&lt;br /&gt;
Tint map:&lt;br /&gt;
* '''Note: Не нужна вам если на вашей броне нет участков кожи'''&lt;br /&gt;
Самая простая текстура - работать будет только в альфа канале. Всю текстуру полностью залейте черным цветом. В альфа канале нужно будет сделать примерно тоже самое, что мы уже проделали с альфа каналом диффузной карты, только на этот раз черным будут зоны, которые будут менять тон в соответствии с кожей персонажа, а белые оставаться не изменными. Эта тесктура полностью залита черным потому, что она полностью покрывает кожу и участки, а значит и выделываться здесь смысла нет. То есть да - конкретно в нашем случае должна получиться полностью черная текстура - все четыре канала залиты черным.&lt;br /&gt;
&lt;br /&gt;
== Connecting textures ==&lt;br /&gt;
Cоединение текстур. Как я уже упомянал, платье Кристины Веспуччи содержит несколько материалов. Движок ДАО может поддерживать только один материал, а значит нам придется все текстуры объединить.&lt;br /&gt;
Самое главное в том, что один раз определившись порядком текстур, нужно придерживаться его постоянно. В общем, нам нужно выстроить примерно такую конструкцию:&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
'''*Note: Запомните положение текстур, оно вам понадобится при объединении материалов в 3ds Max.'''Тоже самое и для остальных карт (нормали, спекуляр и тинт). Альфа каналы выстраиваем так же. Размер текстур должен быть кратным 4.&lt;br /&gt;
&lt;br /&gt;
== Save textures ==&lt;br /&gt;
&lt;br /&gt;
Текстуры нужно сохранять с такими настройками: &lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Normal map:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Все, на этом в фотошопе закончено. Можно его закрывать. Переименуйте текстуры в hf_rob_chaz_0n.dds (normal-текстура), hf_rob_chaz_0d (diffuse-текстура), hf_rob_chaz_0s (спекуляр) и hf_rob_chaz_0t (тинт карта). Сами текстуры уже можно переместить в папку [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
&lt;br /&gt;
== Names ==&lt;br /&gt;
Очень важно для GDA. &lt;br /&gt;
Текстуры надо называть так: [принадлежность полу-расе]_[тип брони\одежды]_[уникальный индекс из 4 букв]_0[тип текстуры].&lt;br /&gt;
Принадлежность полу расе обозначается так:&lt;br /&gt;
*hf- жен. человек&lt;br /&gt;
*hm- муж. человек&lt;br /&gt;
*ef- жен. эльф&lt;br /&gt;
*em- муж. эльф&lt;br /&gt;
*df- жен. гном&lt;br /&gt;
*dm- муж. гном&lt;br /&gt;
*qm- кунари-мужик&lt;br /&gt;
Броня:&lt;br /&gt;
*arm - броня&lt;br /&gt;
*rob - роба (мага, церковника)&lt;br /&gt;
*cth - одежда (дворянина, свадебная)&lt;br /&gt;
Helmets:&lt;br /&gt;
*hlh - for mages.&lt;br /&gt;
*hlf - massive ones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Уникальный индекс можете выбрать любой. Главное помните - не больше 4 букв и не занятый другой вещью.'''&lt;br /&gt;
&lt;br /&gt;
Типов текстур 5:&lt;br /&gt;
*d - диффузная (Duffise)&lt;br /&gt;
*n - нормаль (Normal)&lt;br /&gt;
*s - спекуляр (Spectacular)&lt;br /&gt;
*t - тинт (Tint)&lt;br /&gt;
*e - эммиссив (Emissive) Нужна для свечения аля скай-фай броня. В дао почти не используется)&lt;br /&gt;
В итоге должно получиться нечто вроде такого: hf_rob_xmpl_0d или em_arm_exmp_0n. &lt;br /&gt;
'''*NOTE: Сам материал (название материала в максе, потом это будет MAO файл) именуем также, только без типа текстуры. Например: hf_rob_xmpl или em_arm_exmp. Модель именуется так-же, только с цифрой детализации в конце: hf_rob_xmpl_0 или em_arm_exmp_0'''&lt;br /&gt;
&lt;br /&gt;
== 3D MAX ==&lt;br /&gt;
* *[https://youtu.be/1QMcAX1cDyo Rigging tutorial]&lt;br /&gt;
'''NOTE: Если ваша броня выглядит слишком &amp;quot;грубой&amp;quot;, то это можно исправить ПКМ-&amp;gt; Convert to Edit Poly -&amp;gt; Режим Vertex на панели справа -&amp;gt; press button Weld (Vertexes) на панели справа. Можно там же использовать и Smooth, но будьте осторожны- это добавит новые полигоны ваша модель может не подойти для движка.'''&lt;br /&gt;
&lt;br /&gt;
В ходе адаптации модели нам понадобится максимально похожий образец из оригинальной игры. В моем случае я выбрал церковную робу (hf_rob_chaa) – этакий универсальный образец, который подходит для большинства случаев. В Toolset’е откроем архивы modelhierarchies.erf materialobjects.erf modelmeshdata.erf (найти их можно по даресу [имя_диска_с_игрой]: \Dragon Age\packages\core\data). Так-же откроем архив texturepack.erf находящийся по адресу [имя_диска_с_игрой]:\Dragon Age\packages\core\textures\high. В этих архивах находим файлы&lt;br /&gt;
hf_rob_chaa_0.mmh, hf_rob_chaa_0.phy (modelhierarchies.erf)&lt;br /&gt;
hf_rob_chaa_0.msh (modelmeshdata.erf)&lt;br /&gt;
pf_rob_chaa.mao (materialobjects.erf)&lt;br /&gt;
pf_rob_chaa_0d.dds, pf_rob_chaa_0n.dds, pf_rob_chaa_0s.dds, pf_rob_chaa_0t.dds (texturepack.erf)&lt;br /&gt;
и распаковываем в отдельную папку. Всего на выходе должно получится 8 файлов.&lt;br /&gt;
&lt;br /&gt;
А теперь перейдем в 3ds max. Прежде, чем приступить непосредственно к конвентированию, настроим плагин для 3ds max. Мне гораздо удобнее запускать сразу скрипты, чем захламлять разными кнопками рабочее пространство редактора. Для запуска конфигуратора запустим скрипт (Max Script-&amp;gt;Run Script) DAOToolsSetup находящийся по адресу C:\Program Files\Autodesk\3dsMax8\Scripts\DAOTools.&lt;br /&gt;
&lt;br /&gt;
Итак, приступим, к настройке. В строке Game Path указываем адрес к папке с игрой. В Export Path указываем, куда будут сохранятся экспортированные файлы. Т.к. наша модель будет заменять уже имеющуюся, то укажем там адрес [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ Ползунок World Scale ставим на значение 100. Дело в том, что в своем «естественном» виде, модели ДА очень маленькие. Для комфортной работы с ними нужно увеличить их в 100 (сто) раз. Эта функция как раз создана для того, чтобы на время работы увеличивать модель в удобный размер, а экспортируя обратно возвращая к естественным размерам. Все остальное оставляем нетронутым и нажимаем ОК. Конфигуратор перед закрытием проинформирует нас о возможности в любой момент изменить настройки, не пугайтесь выскочившего окна.&lt;br /&gt;
&lt;br /&gt;
И вот наконец теперь можно заняться непосредственно конвертированием. В окне редактора у нас должна уже быть открыта сама модель. Следующее, что нам нужно сделать, это загрузить оригинальную модель из ДАО. Для этого запускаем скрипт DAOImport. В пункте File секции Model Import указываем месторасположение недавно вытащенного нами .mmh файла (hf_rob_chaa_0.mmh). Нажимаем на кнопку Import, специальное окно известит нас о готовности к импорту, жмем ОК и ждем 5-30 секунд (в зависимости от мощности компьютера) пока загрузится модель.&lt;br /&gt;
&lt;br /&gt;
Для начала скроем все, что нам в данный момент не понадобится. Откроем Schematic View (Graph Editors-&amp;gt; New Schematic View) &lt;br /&gt;
&lt;br /&gt;
Здесь можно увидеть две большие древовидные структуры – это обе наши модели с их иерархией. Полностью выделим структуру оригинальной модели (легко определить по наличию в ней зеленых элементов). Сворачиваем Schematic View. В основном рабочем окне можно увидеть, что выделена оригинальная игровая модель и все ее элементы &lt;br /&gt;
&lt;br /&gt;
Теперь снимем выделение с самой робы, так чтобы выделенными остались лишь второстепенные элементы. Скроем их, чтобы не мешались, они нам все-равно не понадобятся. Для этого нажмем по пустому пространству рабочей области правой кнопкой мыши-&amp;gt;hide selection. Теперь осталось только зафиксировать оригинальную модель. Для этого выделяем ее и правой кнопкой мыши-&amp;gt;properties.&lt;br /&gt;
Поставьте напротив опции Freeze секции interactivity, уберите напротив опции Show Frozen in Gray секции display Properties соответственно. Все, теперь оригинальная модель зафиксирована и защищена от случайных манипуляций.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подогнать модель платья Кристины под габариты игровой робы. Желательно сделать это как можно точнее. Для трансформации модели лучше всего воздействовать на ее кости, так гораздо удобнее. Масштабируем, поворачиваем и двигаем кости так, чтобы модель ровно легла в очертания оригинальной робы. Разводим руки, сводим ноги – процесс нужно делать на «глазок».&lt;br /&gt;
&lt;br /&gt;
== Working with materials ==&lt;br /&gt;
*NOTE: Работать с материалами нужно до риггинга. Иначе будут проблемы.&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Важное отступление - если ваша модель полностью покрывается одной текстурой, то ничего из нижеописанного вам проделывать не нужно.&lt;br /&gt;
Сейчас нам нужно объединить несколько материалов в один. Процесс не тривиальный. Итак, когда вы откроете редактор координат, то увидите вот такую картину:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Зеленые линии - это координаты модели на текстуре. Многие игровые движки используют все пространство редактора, но не ДАО. Наша игра не видит ничего за границами выделенного квадрата. Наша задача - передвинуть все координаты во внутрь этого квадрата. Во вкладке All ID's можно выбирать отдельные материалы и двигать их. Наложите текстуру, которую вы создали в фотошопе и согласно ее контурам отмасштабируте и перенесите ее на соответствующее место. Тоже самое нужно бьудет проделать и со всеми сетами материалов, чтобы в конце-концов получилось что-то вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
После этого можно закрывать редактор координат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Continue working with materials ==&lt;br /&gt;
&lt;br /&gt;
На верхней панели инструментов найдем кнопку редактора метериалов (четыре разноцветных шара) &lt;br /&gt;
Далее нажимаем Get Material и выбираем из списка Dragon Age Material (если плагин установлен правильно, то он в списке будет) &lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
&lt;br /&gt;
В Material Type указываем Character, в Render Semantics – [Armor w / Skin Tint][Alpha Blending][No Emissive]. Разворачиваем список Texture Maps и назначаем соответствующие текстуры. Далее Assign Material to Selection (платье должно быть выделенным). Если так хочется увидеть текстуру в редакторе, то жмем Show Map in Viewport. Осталось только дать нашему материалу нормальное имя. В соответствующем поле введем pf_rob_chaz_0. Вот и все.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Rigging ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Как только наша модель полностью ляжет в очертания оригинальной робы, можно приступать к следующей фазе &lt;br /&gt;
Выделим нашу модель, правой кнопкой мыши по пустому месту-&amp;gt;Convert To-&amp;gt; Convert To Editable Mesh.&lt;br /&gt;
Теперь полностью выделяем все объекты, снимаем выделение с самой модели платья Кристины (выделеными должны остаться все объекты КРОМЕ платья Кристины) и удаляем. Должны остаться только церковная роба и платье Кристины. Далее правой кнопкой мыши по пустому месту-&amp;gt;Unfreeze All. Это разморозит оригинальную робу, сделав ее доступной для редактирования. Затем в списке ее модификаторов выделим Skin и Edit Normals (с зажатым CTRL). Правой кнопкой мыши по ним-&amp;gt;Cut. Из списка модификаторов они должны исчезнуть. Далее правой кнопкой мыши по пустому месту рабочего пространства-&amp;gt;Convert To-&amp;gt;Convert To Editable Mesh. Это низведет оригинальную робу в тоже состояние, в котором сейчас пребывает и платье Кристины.&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем в режим редактирования полигонов &lt;br /&gt;
&lt;br /&gt;
[[File:Polygon.png|border]]&lt;br /&gt;
 &lt;br /&gt;
Нажмите CTL+ A Вся оригинальная роба должна окраситься в красный цвет выделения. Далее нужно снять выделение с одного-единственного полигона (делается с зажатой клавишей ALT). Какого именно – неважно, главное чтобы он был на виду и до него было просто добраться. Я выбрал один у самых ног. Все, что теперь нужно сделать – нажать кнопку Delete. Это удалит всю модель, кроме одного оставленного нами полигона. Теперь нам нужно прирастить к этому полигону платье Кристины. Для этого выберем на панели инструментов справа кнопку Attach  и нажмем мышью на скафандр. Появится окно, выбрать опцию Match Material to Material IDs. Жмем ОК. Теперь нужно убрать последний полигон оригинальной робы. Вновь переходим в режим редактирования полигонов (предварительно «отжав» кнопку attach), находим когда-то оставленный нами полигон и удаляем его. Все, теперь уже не осталось ничего, что напоминало-бы нам о церковной робе.&lt;br /&gt;
&lt;br /&gt;
Вы должны закончить со всеми правками модели до того, как добавите модификатор Unwrap UVW. Если ваша модель выглядит грубой, то необходимо  исправить:&lt;br /&gt;
ПКМ -&amp;gt; converto to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld -&amp;gt; Convert to editable Mesh&lt;br /&gt;
&lt;br /&gt;
'''Note:'''Закончите все правки модели и материалов до следующего шага - после него все изменения не отобразятся на конечном результате и придется переделывать. &lt;br /&gt;
&lt;br /&gt;
В списке модификаторов нашей модели найдем Unwrap UVW и добавим его к нашей модели. Модель должна окраситься ярко зелеными линиями.&lt;br /&gt;
&lt;br /&gt;
Далее правой кнопкой мыши по списку модификаторов-&amp;gt;Paste. Список модификаторов должен стать таким (сверху-вниз: Skin, Edit Normals, Unwrap UVW)&lt;br /&gt;
&lt;br /&gt;
С самой моделью мы наконец закончили.&lt;br /&gt;
&lt;br /&gt;
== Dress with crinoline ==&lt;br /&gt;
[[File:Crinoline_dressDAO.jpg|border]]&lt;br /&gt;
*[https://youtu.be/_q4mmFMmIK8 Как сделать платье с кринолином]&lt;br /&gt;
&lt;br /&gt;
== Export ==&lt;br /&gt;
&lt;br /&gt;
Для этого запускаем скрипт DAOModelExport. Нам предстанет вот так вот такое окно:&lt;br /&gt;
&lt;br /&gt;
[[File:Export.png|border]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Между Name и .MMH вписать hf_rob_chaa_0. Между Name и .MSH вписать тоже самое (если этого не сделалось автоматически). Отметить опцию Create MAO Material File. Все, теперь жмем Export. По окончании процесса экспорта в папке [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ должны появится пять новых файлов&lt;br /&gt;
hf_rob_chaa_0.phy&lt;br /&gt;
hf_rob_chaa_0.msh&lt;br /&gt;
hf_rob_chaa_0.mmh&lt;br /&gt;
hf_rob_chaa_0.met&lt;br /&gt;
pf_rob_chaz_0.mao&lt;br /&gt;
Там-же уже должны находится обе текстуры. Ну, вот собственно и все. Модель готова, можно запускать игру и смотреть результат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Addding custom shield ==&lt;br /&gt;
&lt;br /&gt;
Процесс тот же самый с разницей, что щиту не нужен rigging.&lt;br /&gt;
  &lt;br /&gt;
1) Импортируйте любой щит из игры. В отличие от брони тут не нужно следить за размером - ЛЮБОЙ щит подойдет.&lt;br /&gt;
&lt;br /&gt;
2) Импортируйте ваш щит в ту же сцену и погдгоните его размер к тому, что из игры.&lt;br /&gt;
&lt;br /&gt;
3) Сделайте из ващего нового щита ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. Collapse any active modifiers on the &amp;quot;new&amp;quot; item. Then add a new &amp;quot;unwrap UVW&amp;quot; modiefier to it, and double click it to open the UVW window. then drag and select everything you see there, and DRAG IT ANYWHERE OUTSIDE THE OUTLINED BOX IN THE CENTER. This will make life easier for you in step 6.&lt;br /&gt;
&lt;br /&gt;
4) Выберите щит из игры и выберете все модификаторы исключая &amp;quot;unwrap UVW&amp;quot;. ПКМ -&amp;gt;&amp;quot;cut&amp;quot;, а не удалить, потому что м ыбудем их использовать. Далее ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
5) Теперь &amp;quot;attach&amp;quot; щит из ДАО к вашему новому щиту. &lt;br /&gt;
&lt;br /&gt;
6) Добавть новый &amp;quot;unwrap uvw&amp;quot; к этому mesh. Проверьте все ли модификаторы на месте - press the &amp;quot;+&amp;quot; слева. Выберите &amp;quot;face&amp;quot;, и выберете все, что внутри the outlined box в середине. ПКМ &amp;quot;unwrap UVW&amp;quot; и выберете &amp;quot;collapse to&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
7) Потом нажмите &amp;quot;+&amp;quot; слева от слов &amp;quot;editable mesh&amp;quot;. Выберте &amp;quot;element&amp;quot; и удалите. Вставьте все модификаторы, которые мы вырезали на шаге 4.&lt;br /&gt;
&lt;br /&gt;
8) Добавьте текстуры и экспортируйте.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Customisation of original Dragon age armor]]&lt;br /&gt;
*[[Adding custom shield tutorial]]&lt;br /&gt;
*[[Adding custom level tutorial]] - Add your own level.&lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/423834-the-witcher-1-armors-in-da-origins/page-2#entry3544131 How to add new armor to DAO on English] &lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/1122450-loincloth-fashion/page-56#entry16909714 How to fix GDA conflict]&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/3974/? Item Variation ID spreadsheet modification]&lt;br /&gt;
*[https://youtu.be/370D7Lul9tk Skinning tutorial]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Tutorials&amp;diff=19825</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Tutorials&amp;diff=19825"/>
				<updated>2017-10-24T06:38:22Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* External Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists links to step-by-step tutorials, both on this wiki and on external sites.&lt;br /&gt;
&lt;br /&gt;
==Introductory tutorials ==&lt;br /&gt;
&lt;br /&gt;
In the course of these tutorials we'll go through all the steps needed to create a basic adventure.&lt;br /&gt;
&lt;br /&gt;
{|align=right&lt;br /&gt;
|{{TutorialRef|&amp;lt;nowiki&amp;gt;Boxes like these contain links,&amp;lt;/nowiki&amp;gt;|&amp;lt;nowiki&amp;gt;to topics taking you to further information&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{sidebox|&lt;br /&gt;
*Boxes like this contain a checklist of important steps.&lt;br /&gt;
*They're intended as a reminder and as a navigational aid.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*[[Introductory tutorial]] - An overview of the toolset as a whole&lt;br /&gt;
*[[Module tutorial]] - how to create a module to work in.&lt;br /&gt;
&lt;br /&gt;
This set of tutorials forms a series, each building on or filling in omissions by the last:&lt;br /&gt;
*[[Area tutorial]]&lt;br /&gt;
*[[Placeable tutorial]]&lt;br /&gt;
*[[Item tutorial]]&lt;br /&gt;
*[[Creature tutorial]]&lt;br /&gt;
*[[Conversation tutorial]]&lt;br /&gt;
*[[Lighting Tutorial]]&lt;br /&gt;
&lt;br /&gt;
Once you've become familiar with the basics introduced on those tutorials you might have a better grounding for:&lt;br /&gt;
*[[Cutscene tutorial]]&lt;br /&gt;
*[[Map tutorial]] (which also introduces you to [[2DA]] editing)&lt;br /&gt;
*[[Level Editor Tutorial]]&lt;br /&gt;
*[[Scripting tutorial]]&lt;br /&gt;
**[[Useful Scripts]] &amp;lt;!-- for anyone not familar with scripts, this will be very helpful. However i extracted this from the Overview page which seemes inappropriate --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Various small Tutorials, in a unsorted manner. &lt;br /&gt;
*[[How-tos]]&lt;br /&gt;
*[[VFX Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Demo module ==&lt;br /&gt;
&lt;br /&gt;
The toolset currently ships with a simple demo module pre-loaded into its database.&lt;br /&gt;
&lt;br /&gt;
*[[Demo module]] - how to export and run the demo module.&lt;br /&gt;
&lt;br /&gt;
== Custom content tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Adding custom armor tutorial]]&lt;br /&gt;
* [[Adding custom level tutorial]]&lt;br /&gt;
* [[Adding a new spell tutorial]]&lt;br /&gt;
* [[Adding a new weapon type tutorial]]&lt;br /&gt;
* [[Adding a custom model to the toolset tutorial]]&lt;br /&gt;
* [[Adding custom heraldry to a shield tutorial]]&lt;br /&gt;
* [[Adding custom items to custom modules tutorial]]&lt;br /&gt;
* [[Adding custom shield tutorial]]&lt;br /&gt;
* [[Creating item with note in Codex]]&lt;br /&gt;
* [[Creating a custom placeable from a model tutorial]]&lt;br /&gt;
* [[Creating recolors of existing items tutorial]]&lt;br /&gt;
* [[Customisation of original Dragon age armor]]&lt;br /&gt;
* [[Extending GDAs tutorial]]&lt;br /&gt;
* [[Overriding and creating tints tutorial]]&lt;br /&gt;
* [[Reskinning an item tutorial]]&lt;br /&gt;
* [[Usable campaign items tutorial]]&lt;br /&gt;
* [[Using DLC areas in your mods tutorial]]&lt;br /&gt;
* [[UI Tutorial (draft)]]&lt;br /&gt;
* [[Playing custom Player Character]]&lt;br /&gt;
&lt;br /&gt;
== Character generation tutorials ==&lt;br /&gt;
*[[Backgrounds tutorial|Background/Origin Tutorial]]&lt;br /&gt;
*[[Add A New Class Tutorial]]&lt;br /&gt;
*[[High-Level Character Generation]]&lt;br /&gt;
&lt;br /&gt;
== Companion Tutorials ==&lt;br /&gt;
*[[Basic follower tutorial]]: covers the basics of adding a follower to party (which has space)&lt;br /&gt;
*[[Follower tutorial]]: a more comprehensive tutorial for creating followers (script heavy)&lt;br /&gt;
*[[Follower tutorial (alternative)]]: an alternative to the main follower tutorial &lt;br /&gt;
*[[User:Satans_karma|Follower tutorial (satans_karma)]]: an alternative to the main follower tutorial &lt;br /&gt;
*[[Compatible_Companion_Mod_Creation|Advanced follower tutorial]]: a comprehensive tutorial for creating followers with a focus on compatibility (very script heavy)&lt;br /&gt;
*[[Follower_guidelines]] (contains general guidelines and compatibility information)&lt;br /&gt;
&lt;br /&gt;
== Other Tutorials ==&lt;br /&gt;
*[[Adding a Location to the Single Player Campaign Tutorial]]&lt;br /&gt;
*[[Noob to pro]] (Step by step guide to making a new standalone campaign)&lt;br /&gt;
*[[Module Priority Tutorial]] How to set module. Priority for multiple mods with similar files, so they don't interfere&lt;br /&gt;
*[[Plot]] Information on configuring plot flags for journal and codex entries&lt;br /&gt;
&lt;br /&gt;
== External Tutorials ==&lt;br /&gt;
*[http://dragonagemodding.wordpress.com Beyond Ferelden] has many in-depth tutorials by jwvanderbeck.&lt;br /&gt;
*[http://www.youtube.com/watch?v=TwQNRBFLhrE Playable Area and Conversation] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=CaHldJcUTz8 Simple Conversation Cameras] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=QOQJ2heQto4 Cutscene and Trigger] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=szWKgj2ZuXo Custom Level and Room Building] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=DKJ7F14n8o8 Downloading and Installing the Toolset] video tutorial by [http://social.bioware.com/74287/ DragonAge22].&lt;br /&gt;
*[http://www.youtube.com/watch?v=iMPBsulv9xI Creating a Room] video tutorial by [http://social.bioware.com/74287/ DragonAge22].&lt;br /&gt;
*[http://www.youtube.com/watch?v=g3kx2CaarHo How to Make an Interior Level with Lighting] video tutorial by [http://social.bioware.com/group/60/ Darkworld Development Team].&lt;br /&gt;
*[http://www.youtube.com/watch?v=O6TeZeE1Lc8 Making a Room] video tutorial by BigDrip681.&lt;br /&gt;
*[http://social.bioware.com/5339/blog/576/ Custom Player Items In Single Player] by [http://social.bioware.com/5339/ weriK].&lt;br /&gt;
*[http://social.bioware.com/5339/blog/651/ The Secret Behind Item Statistics] by [http://social.bioware.com/5339/ weriK].&lt;br /&gt;
*[http://social.bioware.com/project/923/ Guide for installing/uninstalling/updating Mods] Beginner Guide to get started with using Mods by [http://social.bioware.com/237411/ Alexspeed].&lt;br /&gt;
*[http://www.jezelf.co.uk/tutorials.htm Photoshop Map making tutorials] Credits to Jason Elford, brought to DAT wiki by [http://social.bioware.com/48156/ Arixsus]&lt;br /&gt;
*[http://social.bioware.com/project/527/ Video Tutorials by SilentCid] Multiple in-depth video tutorials of the DA Toolset&lt;br /&gt;
*[http://www.youtube.com/view_play_list?p=EF29DD1AACEBA92A Qkrch's Video Tutorials] Toolset tutorial complete series for the experienced builder (Spanish &amp;amp; English)&lt;br /&gt;
*[http://www.theengineeringguild.co.uk/da-new-campaign-location-tutorial World Editing and Area Creation] Tutorial by [http://social.bioware.com/profile/7848 giskard44] where he walks you through a module creation process for an single player addin.&lt;br /&gt;
*[http://social.bioware.com/203442/blog/1352/ Custom Item Materials] by [http://social.bioware.com/203442/ Chains-Gore].&lt;br /&gt;
*[http://bg2redux.student.utwente.nl/trac/wiki/TutorialLightmapping Lighting Tutorial with Troubleshooting section] (aimed at beginners)&lt;br /&gt;
*[https://youtu.be/_q4mmFMmIK8 How to make a dress with crinoline]&lt;br /&gt;
*[https://youtu.be/370D7Lul9tk Skinning tutorial]&lt;br /&gt;
*[https://youtu.be/1QMcAX1cDyo Rigging tutorial]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
*[[Area layouts used in the single player module]]&lt;br /&gt;
*[[Compatibility]]&lt;br /&gt;
*[[Dragon Age 2]]&lt;br /&gt;
&lt;br /&gt;
{{Languages|Tutorials}}&lt;br /&gt;
[[Category:Tutorials| ]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Playing_custom_Player_Character&amp;diff=19824</id>
		<title>Playing custom Player Character</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Playing_custom_Player_Character&amp;diff=19824"/>
				<updated>2017-10-17T08:43:03Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Characters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: dr. dummie&lt;br /&gt;
&lt;br /&gt;
Module UID: lpt&lt;br /&gt;
&lt;br /&gt;
Folder of all my resourses: z_lpt&lt;br /&gt;
&lt;br /&gt;
This tutorial:&lt;br /&gt;
* Allows you to play custom character.&lt;br /&gt;
* Start your module with cutscene.&lt;br /&gt;
* Allows you to create character 10 lvl and set it's characteristics as you want.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Characters ==&lt;br /&gt;
1 - Create 3 creatures&lt;br /&gt;
&lt;br /&gt;
* lpt_000c_ariana (tag &amp;quot;lpt_000c_ariana&amp;quot;) - This is our main character with features you like. Set her class, gender, VO and morph which starting weapons and armour he/she will have.&lt;br /&gt;
* lpt_000c_default_char (tag &amp;quot;default_player&amp;quot;) - this character who will mimic Jaden, default hero, so change only it's head morph, VO and gender. The rest must be default.&lt;br /&gt;
'''Note: If you change morph or VO of your PC you always have to change both files.'''&lt;br /&gt;
* lpt_000c_roquefort (tag &amp;quot;party_roquefort&amp;quot;) - this is the follower. Set up his gender, class, VO, inventory and head.&lt;br /&gt;
&lt;br /&gt;
2 - Rename a file &amp;quot;lpt_000c_default_char&amp;quot; manually in your module to &amp;quot;default_player&amp;quot;. You will find it in \..addins\your_module\module\override\- it will be packed with other resources as well.&lt;br /&gt;
&lt;br /&gt;
3 - Add follower into your starting area.&lt;br /&gt;
&lt;br /&gt;
== Plot file ==&lt;br /&gt;
You need to create plot file of your module. This must be called &amp;quot;lpt_module_plot&amp;quot;. Don't forget to create cutscene named &amp;quot;lpt_module_intro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There is only one Main Flag must be called MODULE_START_CUTSCENE with default settings.&lt;br /&gt;
&lt;br /&gt;
== Module script ==&lt;br /&gt;
&lt;br /&gt;
This is script of your module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//::///////////////////////////////////////////////&lt;br /&gt;
//:: Module Template&lt;br /&gt;
//:: Copyright (c) 2003 Bioware Corp.&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    Module events&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By:&lt;br /&gt;
//:: Created On:&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;log_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int FORCE_AUTOLEVEL = 0;  //to turn autolevel off&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    string sDebug;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
    object oParty = GetParty(oPC);&lt;br /&gt;
    int nEventHandled = FALSE;&lt;br /&gt;
&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: The module starts. This can happen only once for a single&lt;br /&gt;
        //       game instance.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_MODULE_START:&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
            //normally we would go trough chargen&lt;br /&gt;
            //PreloadCharGen();&lt;br /&gt;
            //StartCharGen(GetHero());&lt;br /&gt;
&lt;br /&gt;
            //but since we have fixed hero&lt;br /&gt;
            object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
            // skip character generation and set some defaults&lt;br /&gt;
            Chargen_InitializeCharacter(oHero);&lt;br /&gt;
            Chargen_SelectGender(oHero, GENDER_FEMALE);&lt;br /&gt;
            Chargen_SelectRace(oHero, RACE_HUMAN);&lt;br /&gt;
            Chargen_SelectCoreClass(oHero,CLASS_ROGUE);&lt;br /&gt;
            Chargen_SelectBackground(oHero, BACKGROUND_NOBLE);&lt;br /&gt;
&lt;br /&gt;
            //give hero a name&lt;br /&gt;
            SetName(oHero, &amp;quot;Ariana&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            //manually give the player some equipment&lt;br /&gt;
            //EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_cht_lgt_new.uti&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
            //or create your fixed character as template and then transfer everything on player.&lt;br /&gt;
            LoadItemsFromTemplate(oHero, &amp;quot;lpt_000c_ariana.utc&amp;quot;, TRUE);&lt;br /&gt;
&lt;br /&gt;
            //NOTE!&lt;br /&gt;
            //to get player appereance as you like, you must create blank char with desired facemorph&lt;br /&gt;
            //then after export copy that char to &amp;quot;default_player.utc&amp;quot; in your module override directory&lt;br /&gt;
            //so now this will be default char instead JADEN&lt;br /&gt;
&lt;br /&gt;
            // lets go level 10 and set autolevel to off&lt;br /&gt;
            RewardXP(oHero, RW_GetXPNeededForLevel(10), FALSE, FALSE);&lt;br /&gt;
            SetAutoLevelUp(oHero, FORCE_AUTOLEVEL);&lt;br /&gt;
&lt;br /&gt;
            PrintToLog(&amp;quot;------&amp;gt; MODULE START - Ariana created&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: The module loads from a save game. This event can fire more than&lt;br /&gt;
        //       once for a single module or game instance.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_MODULE_LOAD:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A player enters the module&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_ENTER:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: the player clicks on a destination in the world map&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_WORLD_MAP_USED:&lt;br /&gt;
        {&lt;br /&gt;
            int nFrom = GetEventInteger(ev, 0); // travel start location&lt;br /&gt;
            int nTo = GetEventInteger(ev, 1); // travel target location&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Area scipt ==&lt;br /&gt;
&lt;br /&gt;
This is script of your starting area&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//::///////////////////////////////////////////////&lt;br /&gt;
//:: Area Core&lt;br /&gt;
//:: Copyright (c) 2003 Bioware Corp.&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    Handles global area events&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By: Yaron&lt;br /&gt;
//:: Created On: July 17th, 2006&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;log_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
#include &amp;quot;2da_constants_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;lpt_utility_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;plt_lpt_module_plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    string sDebug;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
    object oParty = GetParty(oPC);&lt;br /&gt;
    int nEventHandled = FALSE;&lt;br /&gt;
&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        ///////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: it is for playing things like cutscenes and movies when&lt;br /&gt;
        // you enter an area, things that do not involve AI or actual game play&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_SPECIAL:&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
            PrintToLog(&amp;quot;-----&amp;gt; START AREA - AREALOAD SPECIAL.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            //moved cutscene and hiring code to postloadexit cause some&lt;br /&gt;
            //stuff didnt worked here&lt;br /&gt;
&lt;br /&gt;
            //EDIT: It seems that works with this approach! left other info for&lt;br /&gt;
            //      learn and debug purposes.&lt;br /&gt;
&lt;br /&gt;
            //we run cutscene in this event cause in areaload special we could not&lt;br /&gt;
            //hire follower with desired behavior (gain xp and skills can be set)..&lt;br /&gt;
            //since cutscene and hiring are to be done only once we keep them together.&lt;br /&gt;
            //here it works.. why? i dont know..&lt;br /&gt;
            if (WR_GetPlotFlag(PLT_LPT_MODULE_PLOT, MODULE_START_CUTSCENE) == FALSE)&lt;br /&gt;
            {&lt;br /&gt;
                //roquefort is added to start area and has tag &amp;quot;roquefort&amp;quot;&lt;br /&gt;
                object oFollower = GetObjectByTag(&amp;quot;party_roquefort&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
                //this caused follower to not gain xp, it is bug in game script&lt;br /&gt;
                //UT_HireFollower(oFollower); //we're not using this&lt;br /&gt;
&lt;br /&gt;
                //instead hiring follower with UT_hirefollower, set plot flag and&lt;br /&gt;
                //start script which will hire Roquefort..&lt;br /&gt;
                //this is used if you want to set plot flag to &amp;quot;know&amp;quot; that roquefort is hired&lt;br /&gt;
                //like in some dialogues etc where you can check for conditions..&lt;br /&gt;
                //WR_SetPlotFlag(PLT_LOP_MODULE_PLOT, ROQUEFORT_HIRED, TRUE, TRUE);&lt;br /&gt;
&lt;br /&gt;
                //eventually we can try this to avoid plots at all!&lt;br /&gt;
                //but i guess it would not work as it should without setting&lt;br /&gt;
                //bResetFollower to true..&lt;br /&gt;
                lop_UT_HireFollower(oFollower, FALSE, 0, TRUE, CLASS_WARRIOR);&lt;br /&gt;
&lt;br /&gt;
                // Start cutscene, also set plot flag that cutscene was played.&lt;br /&gt;
                PrintToLog(&amp;quot;-----&amp;gt; START AREA - Load Cutscene.&amp;quot;);&lt;br /&gt;
                CS_LoadCutscene(R&amp;quot;lpt_module_intro.cut&amp;quot;, PLT_LPT_MODULE_PLOT, MODULE_START_CUTSCENE);&lt;br /&gt;
                PlayCutscene();&lt;br /&gt;
             }&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ///////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: for things you want to happen while the load screen is still up,&lt;br /&gt;
        // things like moving creatures around&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_PRELOADEXIT:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: fires at the same time that the load screen is going away,&lt;br /&gt;
        // and can be used for things that you want to make sure the player sees.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_POSTLOADEXIT:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A creature enters the area&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_ENTER:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A creature exits the area&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_EXIT:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_AREA_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
== One more script ==&lt;br /&gt;
This one must be called lpt_utility_h. Don't worry why this cannot be compiled directly cause it is header script and it contains functions, constants, not main logic flow it is compiled automatically when you include it in some other script and use some function from it.&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
                      //:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    &amp;quot;Lady of pain&amp;quot;&lt;br /&gt;
     -&amp;gt; Utility include script&lt;br /&gt;
&lt;br /&gt;
     This file contains utility functions&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By: Kivito&lt;br /&gt;
//:: Created On: 19.10.2013&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;plt_tut_friendly_aoe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//clears creature stats (from wiki)&lt;br /&gt;
void lop_ClearCharStats(object oFollower);&lt;br /&gt;
&lt;br /&gt;
//resets all creature points to defaults&lt;br /&gt;
//it should be called ONLY AFTER follower is hired,&lt;br /&gt;
//also you can change core class for follower&lt;br /&gt;
void lop_ReHireChar(object oFollower, int nCoreClass = 1);&lt;br /&gt;
&lt;br /&gt;
//custom hire follower with parameters, if bResetFollower is true,&lt;br /&gt;
//then all followers points are reset to defaults, also if nCoreClass is specified&lt;br /&gt;
//it is possible to change i.e. warrior to mage&lt;br /&gt;
void lop_UT_HireFollower(object oFollower, int bPreventLevelUp = FALSE, int nForceAutolevel = 0, int bResetFollower = FALSE, int nResetTo = 1);&lt;br /&gt;
&lt;br /&gt;
void lop_ClearCharStats(object oChar)&lt;br /&gt;
{&lt;br /&gt;
    // Initialize all creature properties to default value&lt;br /&gt;
&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_SIMPLE_LEVEL,1.0f,PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_SIMPLE_EXPERIENCE,0.0f,PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_STRENGTH,      CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_DEXTERITY,     CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_CONSTITUTION,  CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_WILLPOWER,     CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_INTELLIGENCE,  CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_MAGIC,         CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_ATTACK_SPEED_MODIFIER,     1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_DAMAGE_SCALE,       1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_RESISTANCE_MENTAL,         0.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_RESISTANCE_PHYSICAL,       0.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,51,       1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_HEALTH_COMBAT,  REGENERATION_HEALTH_COMBAT_DEFAULT);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_STAMINA_COMBAT, REGENERATION_STAMINA_COMBAT_DEFAULT);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_HEALTH,REGENERATION_HEALTH_EXPLORE_DEFAULT, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_STAMINA, REGENERATION_STAMINA_EXPLORE_DEFAULT, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_MISSILE_SHIELD,0.0);&lt;br /&gt;
    SetCreatureProperty(oChar, 38,0.0);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_DEPLETABLE_HEALTH ,          1.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_DEPLETABLE_MANA_STAMINA ,    0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_DEFENSE ,          0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_ATTACK,            0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_DAMAGE_BONUS,      0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_FLANKING_ANGLE,  60.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lop_ReHireChar(object oFollower, int nCoreClass = 1)&lt;br /&gt;
{&lt;br /&gt;
    object me = oFollower;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
&lt;br /&gt;
    //lets get some info from original follower&lt;br /&gt;
&lt;br /&gt;
    //this returns invalid class(0)!! probably cause when hiring a follower&lt;br /&gt;
    //game performes some AI update in &amp;quot;areaload special&amp;quot; event&lt;br /&gt;
    int nClass = GetCreatureCoreClass(me);&lt;br /&gt;
    int nCurrentClass = GetCreatureCurrentClass(me);&lt;br /&gt;
&lt;br /&gt;
    int nRace = GetCreatureRacialType(me);&lt;br /&gt;
    int nGender = GetCreatureGender(me);&lt;br /&gt;
&lt;br /&gt;
    //it seems we dont need this&lt;br /&gt;
    //lop_ClearCharStats(me);&lt;br /&gt;
&lt;br /&gt;
    //cause this went well&lt;br /&gt;
    Chargen_InitializeCharacter(me);&lt;br /&gt;
&lt;br /&gt;
    //select race, otherwise skills tree wont show&lt;br /&gt;
    //Chargen_SelectRace(me,RACE_HUMAN);&lt;br /&gt;
    Chargen_SelectRace(me, nRace); //we passing race from original char&lt;br /&gt;
&lt;br /&gt;
    //no use for this since we passing core class from function&lt;br /&gt;
    //int nClass_s = CLASS_WARRIOR;&lt;br /&gt;
&lt;br /&gt;
    Chargen_SelectGender(me, nGender); //we passing gender from original char&lt;br /&gt;
&lt;br /&gt;
    //remove the defaults - leftover(s) from wiki, could be useful for some other approaches&lt;br /&gt;
    //CharGen_ClearAbilityList(me,1);//remove talents&lt;br /&gt;
    //CharGen_ClearAbilityList(me,2);//remove spells&lt;br /&gt;
    //CharGen_ClearAbilityList(me,3);//remove skills&lt;br /&gt;
&lt;br /&gt;
    //apply attributes, abilities and stats for the core class&lt;br /&gt;
    //SetCreatureProperty(me,PROPERTY_SIMPLE_CURRENT_CLASS, n1-3.0,PROPERTY_VALUE_BASE);&lt;br /&gt;
&lt;br /&gt;
    //we passed core class for our follower, in theory here we could change it&lt;br /&gt;
    //to be what we want (i.e. from warrior to mage)&lt;br /&gt;
    Chargen_SelectCoreClass(me, nCoreClass);&lt;br /&gt;
&lt;br /&gt;
    //add ability - just to test it&lt;br /&gt;
    //_AddAbility(me, ABILITY_TALENT_POWERFUL);&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; lop_ReHireFollower: Race: &amp;quot; + IntToString(nRace) +&lt;br /&gt;
        &amp;quot;, Current Core Class: &amp;quot; + IntToString(nClass) + &amp;quot;, Wanted Core Class: &amp;quot; + IntToString(nCoreClass) +&lt;br /&gt;
        &amp;quot;, Gender: &amp;quot; + IntToString(nGender) + &amp;quot;, Current (sub) Class: &amp;quot; + IntToString(nCurrentClass));&lt;br /&gt;
&lt;br /&gt;
    //tactics&lt;br /&gt;
    Chargen_SetNumTactics(me);&lt;br /&gt;
    Chargen_EnableTacticsPresets(me);&lt;br /&gt;
&lt;br /&gt;
    //level needed for scaling&lt;br /&gt;
    int nPackage = GetPackage(me);&lt;br /&gt;
    int nTargetLevel;&lt;br /&gt;
&lt;br /&gt;
    int nPlayerLevel = GetLevel(oPC);&lt;br /&gt;
    if(nPlayerLevel &amp;gt;= 13 || nPlayerLevel == 1 )&lt;br /&gt;
       nTargetLevel = nPlayerLevel;&lt;br /&gt;
    else&lt;br /&gt;
       nTargetLevel = nPlayerLevel + 1;&lt;br /&gt;
&lt;br /&gt;
    int nMinLevel = GetM2DAInt(TABLE_PACKAGES, &amp;quot;MinLevel&amp;quot;, nPackage);&lt;br /&gt;
&lt;br /&gt;
    if(nMinLevel &amp;gt; 0 &amp;amp;&amp;amp; nMinLevel &amp;gt; nTargetLevel)&lt;br /&gt;
       nTargetLevel = nMinLevel;&lt;br /&gt;
&lt;br /&gt;
    //xp until hero level&lt;br /&gt;
    int nXp = RW_GetXPNeededForLevel(Max(nTargetLevel, 1));&lt;br /&gt;
    RewardXP(me, nXp, FALSE, FALSE);&lt;br /&gt;
&lt;br /&gt;
    //add specialization&lt;br /&gt;
    float count=1.0;&lt;br /&gt;
    if(GetLevel(oPC)&amp;gt;=7)&lt;br /&gt;
    {&lt;br /&gt;
        SetCreatureProperty(me, 38, count);  // 38 is the spec point ID&lt;br /&gt;
        count=count+1.0;&lt;br /&gt;
    }&lt;br /&gt;
    if(GetLevel(oPC)&amp;gt;=14)&lt;br /&gt;
        SetCreatureProperty(me, 38, count);  // 38 is the spec point ID&lt;br /&gt;
&lt;br /&gt;
    //make available in party picker - don't know if its needed here for this case usage&lt;br /&gt;
    //SetFollowerState(me, FOLLOWER_STATE_ACTIVE);&lt;br /&gt;
    //SetFollowerState(me, FOLLOWER_STATE_AVAILABLE);&lt;br /&gt;
&lt;br /&gt;
    //dont fire player_core scaling&lt;br /&gt;
    SetLocalInt(me, FOLLOWER_SCALED, 1);&lt;br /&gt;
    SetLocalInt(me, AI_FLAG_STATIONARY, 0);&lt;br /&gt;
    SetLocalInt(me, AMBIENT_SYSTEM_STATE, 0);&lt;br /&gt;
    SetLocalInt(me, CREATURE_REWARD_FLAGS, 0);&lt;br /&gt;
&lt;br /&gt;
    //change script to player and send hire event&lt;br /&gt;
    SetEventScript(me, RESOURCE_SCRIPT_PLAYER_CORE);&lt;br /&gt;
    InitHeartbeat(me, CONFIG_CONSTANT_HEARTBEAT_RATE);&lt;br /&gt;
    SendPartyMemberHiredEvent(me, FALSE);&lt;br /&gt;
    SetFollowerApprovalEnabled(me,TRUE);&lt;br /&gt;
&lt;br /&gt;
    //open up party picker to allow npc to join in the active party - not needed in this usage&lt;br /&gt;
    //SetPartyPickerGUIStatus(2);&lt;br /&gt;
    //ShowPartyPickerGUI();&lt;br /&gt;
&lt;br /&gt;
    SetFollowerState(me, FOLLOWER_STATE_ACTIVE);  //put him in party&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; Custom Hire follower: &amp;quot; + GetTag(me) +&lt;br /&gt;
        &amp;quot;, Hero lvl: &amp;quot; + IntToString(nPlayerLevel) + &amp;quot;, Follower level: &amp;quot; + IntToString(nTargetLevel));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lop_UT_HireFollower(object oFollower, int bPreventLevelUp = FALSE, int nForceAutolevel = 0, int bResetFollower = FALSE, int nResetTo = 1)&lt;br /&gt;
{&lt;br /&gt;
    object oPC = GetPartyLeader();&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Hiring: &amp;quot; + GetTag(oFollower) +&lt;br /&gt;
        &amp;quot;, Party leader: &amp;quot; + GetTag(oPC) + &amp;quot;, Autolevel: &amp;quot; + IntToString(nForceAutolevel) +&lt;br /&gt;
        &amp;quot;, Reset follower: &amp;quot; + IntToString(bResetFollower));&lt;br /&gt;
&lt;br /&gt;
    //cannot be used for plot followers&lt;br /&gt;
    if(_UT_GetIsPlotFollower(oFollower))&lt;br /&gt;
    {&lt;br /&gt;
        PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Follower IS plot follower, exiting.&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    //calling this code caused follower to be hired and to gain xp&lt;br /&gt;
    SetAutoLevelUp(oFollower, nForceAutolevel);       //0 - off, 1 - autolevel, 2 - force autolevel&lt;br /&gt;
    SetGroupId(oFollower, GetGroupId(oPC));           //not sure if needed cause player_core resets it&lt;br /&gt;
    SetLocalInt(oFollower, CREATURE_REWARD_FLAGS, 0); //to gain xp&lt;br /&gt;
    WR_SetFollowerState(oFollower, FOLLOWER_STATE_ACTIVE, TRUE, 0, bPreventLevelUp);&lt;br /&gt;
&lt;br /&gt;
    //Show the AOE flag when the PC is a mage and aquires a follower or the follower hired is a mage&lt;br /&gt;
    if(GetLocalInt(GetModule(), TUTORIAL_ENABLED) &amp;amp;&amp;amp; (GetCreatureCoreClass(oPC) == CLASS_WIZARD || GetCreatureCoreClass(oFollower) == CLASS_WIZARD))&lt;br /&gt;
    {&lt;br /&gt;
        WR_SetPlotFlag(PLT_TUT_FRIENDLY_AOE, TUT_FRIENDLY_AOE_1, TRUE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (bResetFollower)&lt;br /&gt;
    {&lt;br /&gt;
        PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Resetting follower.&amp;quot;);&lt;br /&gt;
        //calling this will re-initialize follower&lt;br /&gt;
        lop_ReHireChar(oFollower, nResetTo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//activates group of triggers by tag&lt;br /&gt;
void yad_ActivateTrigger(string sTriggerTag, int bActivate = TRUE)&lt;br /&gt;
{&lt;br /&gt;
    object [] arActivate = GetNearestObjectByTag(GetMainControlled(), sTriggerTag, OBJECT_TYPE_TRIGGER, 15);&lt;br /&gt;
    int nSize = GetArraySize(arActivate);&lt;br /&gt;
&lt;br /&gt;
    object oActivate;&lt;br /&gt;
    int nIndex;&lt;br /&gt;
&lt;br /&gt;
    for (nIndex = 0; nIndex &amp;lt; nSize; ++nIndex)&lt;br /&gt;
    {&lt;br /&gt;
        oActivate = arActivate[nIndex];&lt;br /&gt;
        WR_SetObjectActive(oActivate, bActivate);&lt;br /&gt;
        DisplayFloatyMessage(oActivate, &amp;quot;Hello trigger!&amp;quot;, FLOATY_MESSAGE,16777215,10.0);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Playing_custom_Player_Character&amp;diff=19823</id>
		<title>Playing custom Player Character</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Playing_custom_Player_Character&amp;diff=19823"/>
				<updated>2017-10-17T08:42:34Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Characters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: dr. dummie&lt;br /&gt;
&lt;br /&gt;
Module UID: lpt&lt;br /&gt;
&lt;br /&gt;
Folder of all my resourses: z_lpt&lt;br /&gt;
&lt;br /&gt;
This tutorial:&lt;br /&gt;
* Allows you to play custom character.&lt;br /&gt;
* Start your module with cutscene.&lt;br /&gt;
* Allows you to create character 10 lvl and set it's characteristics as you want.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Characters ==&lt;br /&gt;
1 - Create 3 creatures&lt;br /&gt;
&lt;br /&gt;
* lpt_000c_ariana (tag &amp;quot;lpt_000c_ariana&amp;quot;) - This is our main character with features you like. Set her class, gender, VO and morph which starting weapons and armour he/she will have.&lt;br /&gt;
* lpt_000c_default_char (tag &amp;quot;default_player&amp;quot;) - this character who will mimic Jaden, default hero, so change only it's head morph, VO and gender. The rest must be default.&lt;br /&gt;
'''Note: If you change morph or VO of your PC you should change both files.'''&lt;br /&gt;
* lpt_000c_roquefort (tag &amp;quot;party_roquefort&amp;quot;) - this is the follower. Set up his gender, class, VO, inventory and head.&lt;br /&gt;
&lt;br /&gt;
2 - Rename a file &amp;quot;lpt_000c_default_char&amp;quot; manually in your module to &amp;quot;default_player&amp;quot;. You will find it in \..addins\your_module\module\override\- it will be packed with other resources as well.&lt;br /&gt;
&lt;br /&gt;
3 - Add follower into your starting area.&lt;br /&gt;
&lt;br /&gt;
== Plot file ==&lt;br /&gt;
You need to create plot file of your module. This must be called &amp;quot;lpt_module_plot&amp;quot;. Don't forget to create cutscene named &amp;quot;lpt_module_intro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There is only one Main Flag must be called MODULE_START_CUTSCENE with default settings.&lt;br /&gt;
&lt;br /&gt;
== Module script ==&lt;br /&gt;
&lt;br /&gt;
This is script of your module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//::///////////////////////////////////////////////&lt;br /&gt;
//:: Module Template&lt;br /&gt;
//:: Copyright (c) 2003 Bioware Corp.&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    Module events&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By:&lt;br /&gt;
//:: Created On:&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;log_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int FORCE_AUTOLEVEL = 0;  //to turn autolevel off&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    string sDebug;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
    object oParty = GetParty(oPC);&lt;br /&gt;
    int nEventHandled = FALSE;&lt;br /&gt;
&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: The module starts. This can happen only once for a single&lt;br /&gt;
        //       game instance.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_MODULE_START:&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
            //normally we would go trough chargen&lt;br /&gt;
            //PreloadCharGen();&lt;br /&gt;
            //StartCharGen(GetHero());&lt;br /&gt;
&lt;br /&gt;
            //but since we have fixed hero&lt;br /&gt;
            object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
            // skip character generation and set some defaults&lt;br /&gt;
            Chargen_InitializeCharacter(oHero);&lt;br /&gt;
            Chargen_SelectGender(oHero, GENDER_FEMALE);&lt;br /&gt;
            Chargen_SelectRace(oHero, RACE_HUMAN);&lt;br /&gt;
            Chargen_SelectCoreClass(oHero,CLASS_ROGUE);&lt;br /&gt;
            Chargen_SelectBackground(oHero, BACKGROUND_NOBLE);&lt;br /&gt;
&lt;br /&gt;
            //give hero a name&lt;br /&gt;
            SetName(oHero, &amp;quot;Ariana&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            //manually give the player some equipment&lt;br /&gt;
            //EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_cht_lgt_new.uti&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
            //or create your fixed character as template and then transfer everything on player.&lt;br /&gt;
            LoadItemsFromTemplate(oHero, &amp;quot;lpt_000c_ariana.utc&amp;quot;, TRUE);&lt;br /&gt;
&lt;br /&gt;
            //NOTE!&lt;br /&gt;
            //to get player appereance as you like, you must create blank char with desired facemorph&lt;br /&gt;
            //then after export copy that char to &amp;quot;default_player.utc&amp;quot; in your module override directory&lt;br /&gt;
            //so now this will be default char instead JADEN&lt;br /&gt;
&lt;br /&gt;
            // lets go level 10 and set autolevel to off&lt;br /&gt;
            RewardXP(oHero, RW_GetXPNeededForLevel(10), FALSE, FALSE);&lt;br /&gt;
            SetAutoLevelUp(oHero, FORCE_AUTOLEVEL);&lt;br /&gt;
&lt;br /&gt;
            PrintToLog(&amp;quot;------&amp;gt; MODULE START - Ariana created&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: The module loads from a save game. This event can fire more than&lt;br /&gt;
        //       once for a single module or game instance.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_MODULE_LOAD:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A player enters the module&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_ENTER:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: the player clicks on a destination in the world map&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_WORLD_MAP_USED:&lt;br /&gt;
        {&lt;br /&gt;
            int nFrom = GetEventInteger(ev, 0); // travel start location&lt;br /&gt;
            int nTo = GetEventInteger(ev, 1); // travel target location&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Area scipt ==&lt;br /&gt;
&lt;br /&gt;
This is script of your starting area&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//::///////////////////////////////////////////////&lt;br /&gt;
//:: Area Core&lt;br /&gt;
//:: Copyright (c) 2003 Bioware Corp.&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    Handles global area events&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By: Yaron&lt;br /&gt;
//:: Created On: July 17th, 2006&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;log_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
#include &amp;quot;2da_constants_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;lpt_utility_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;plt_lpt_module_plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    string sDebug;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
    object oParty = GetParty(oPC);&lt;br /&gt;
    int nEventHandled = FALSE;&lt;br /&gt;
&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        ///////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: it is for playing things like cutscenes and movies when&lt;br /&gt;
        // you enter an area, things that do not involve AI or actual game play&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_SPECIAL:&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
            PrintToLog(&amp;quot;-----&amp;gt; START AREA - AREALOAD SPECIAL.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            //moved cutscene and hiring code to postloadexit cause some&lt;br /&gt;
            //stuff didnt worked here&lt;br /&gt;
&lt;br /&gt;
            //EDIT: It seems that works with this approach! left other info for&lt;br /&gt;
            //      learn and debug purposes.&lt;br /&gt;
&lt;br /&gt;
            //we run cutscene in this event cause in areaload special we could not&lt;br /&gt;
            //hire follower with desired behavior (gain xp and skills can be set)..&lt;br /&gt;
            //since cutscene and hiring are to be done only once we keep them together.&lt;br /&gt;
            //here it works.. why? i dont know..&lt;br /&gt;
            if (WR_GetPlotFlag(PLT_LPT_MODULE_PLOT, MODULE_START_CUTSCENE) == FALSE)&lt;br /&gt;
            {&lt;br /&gt;
                //roquefort is added to start area and has tag &amp;quot;roquefort&amp;quot;&lt;br /&gt;
                object oFollower = GetObjectByTag(&amp;quot;party_roquefort&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
                //this caused follower to not gain xp, it is bug in game script&lt;br /&gt;
                //UT_HireFollower(oFollower); //we're not using this&lt;br /&gt;
&lt;br /&gt;
                //instead hiring follower with UT_hirefollower, set plot flag and&lt;br /&gt;
                //start script which will hire Roquefort..&lt;br /&gt;
                //this is used if you want to set plot flag to &amp;quot;know&amp;quot; that roquefort is hired&lt;br /&gt;
                //like in some dialogues etc where you can check for conditions..&lt;br /&gt;
                //WR_SetPlotFlag(PLT_LOP_MODULE_PLOT, ROQUEFORT_HIRED, TRUE, TRUE);&lt;br /&gt;
&lt;br /&gt;
                //eventually we can try this to avoid plots at all!&lt;br /&gt;
                //but i guess it would not work as it should without setting&lt;br /&gt;
                //bResetFollower to true..&lt;br /&gt;
                lop_UT_HireFollower(oFollower, FALSE, 0, TRUE, CLASS_WARRIOR);&lt;br /&gt;
&lt;br /&gt;
                // Start cutscene, also set plot flag that cutscene was played.&lt;br /&gt;
                PrintToLog(&amp;quot;-----&amp;gt; START AREA - Load Cutscene.&amp;quot;);&lt;br /&gt;
                CS_LoadCutscene(R&amp;quot;lpt_module_intro.cut&amp;quot;, PLT_LPT_MODULE_PLOT, MODULE_START_CUTSCENE);&lt;br /&gt;
                PlayCutscene();&lt;br /&gt;
             }&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ///////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: for things you want to happen while the load screen is still up,&lt;br /&gt;
        // things like moving creatures around&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_PRELOADEXIT:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: fires at the same time that the load screen is going away,&lt;br /&gt;
        // and can be used for things that you want to make sure the player sees.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_POSTLOADEXIT:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A creature enters the area&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_ENTER:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A creature exits the area&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_EXIT:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_AREA_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
== One more script ==&lt;br /&gt;
This one must be called lpt_utility_h. Don't worry why this cannot be compiled directly cause it is header script and it contains functions, constants, not main logic flow it is compiled automatically when you include it in some other script and use some function from it.&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
                      //:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    &amp;quot;Lady of pain&amp;quot;&lt;br /&gt;
     -&amp;gt; Utility include script&lt;br /&gt;
&lt;br /&gt;
     This file contains utility functions&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By: Kivito&lt;br /&gt;
//:: Created On: 19.10.2013&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;plt_tut_friendly_aoe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//clears creature stats (from wiki)&lt;br /&gt;
void lop_ClearCharStats(object oFollower);&lt;br /&gt;
&lt;br /&gt;
//resets all creature points to defaults&lt;br /&gt;
//it should be called ONLY AFTER follower is hired,&lt;br /&gt;
//also you can change core class for follower&lt;br /&gt;
void lop_ReHireChar(object oFollower, int nCoreClass = 1);&lt;br /&gt;
&lt;br /&gt;
//custom hire follower with parameters, if bResetFollower is true,&lt;br /&gt;
//then all followers points are reset to defaults, also if nCoreClass is specified&lt;br /&gt;
//it is possible to change i.e. warrior to mage&lt;br /&gt;
void lop_UT_HireFollower(object oFollower, int bPreventLevelUp = FALSE, int nForceAutolevel = 0, int bResetFollower = FALSE, int nResetTo = 1);&lt;br /&gt;
&lt;br /&gt;
void lop_ClearCharStats(object oChar)&lt;br /&gt;
{&lt;br /&gt;
    // Initialize all creature properties to default value&lt;br /&gt;
&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_SIMPLE_LEVEL,1.0f,PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_SIMPLE_EXPERIENCE,0.0f,PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_STRENGTH,      CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_DEXTERITY,     CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_CONSTITUTION,  CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_WILLPOWER,     CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_INTELLIGENCE,  CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_MAGIC,         CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_ATTACK_SPEED_MODIFIER,     1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_DAMAGE_SCALE,       1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_RESISTANCE_MENTAL,         0.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_RESISTANCE_PHYSICAL,       0.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,51,       1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_HEALTH_COMBAT,  REGENERATION_HEALTH_COMBAT_DEFAULT);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_STAMINA_COMBAT, REGENERATION_STAMINA_COMBAT_DEFAULT);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_HEALTH,REGENERATION_HEALTH_EXPLORE_DEFAULT, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_STAMINA, REGENERATION_STAMINA_EXPLORE_DEFAULT, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_MISSILE_SHIELD,0.0);&lt;br /&gt;
    SetCreatureProperty(oChar, 38,0.0);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_DEPLETABLE_HEALTH ,          1.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_DEPLETABLE_MANA_STAMINA ,    0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_DEFENSE ,          0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_ATTACK,            0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_DAMAGE_BONUS,      0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_FLANKING_ANGLE,  60.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lop_ReHireChar(object oFollower, int nCoreClass = 1)&lt;br /&gt;
{&lt;br /&gt;
    object me = oFollower;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
&lt;br /&gt;
    //lets get some info from original follower&lt;br /&gt;
&lt;br /&gt;
    //this returns invalid class(0)!! probably cause when hiring a follower&lt;br /&gt;
    //game performes some AI update in &amp;quot;areaload special&amp;quot; event&lt;br /&gt;
    int nClass = GetCreatureCoreClass(me);&lt;br /&gt;
    int nCurrentClass = GetCreatureCurrentClass(me);&lt;br /&gt;
&lt;br /&gt;
    int nRace = GetCreatureRacialType(me);&lt;br /&gt;
    int nGender = GetCreatureGender(me);&lt;br /&gt;
&lt;br /&gt;
    //it seems we dont need this&lt;br /&gt;
    //lop_ClearCharStats(me);&lt;br /&gt;
&lt;br /&gt;
    //cause this went well&lt;br /&gt;
    Chargen_InitializeCharacter(me);&lt;br /&gt;
&lt;br /&gt;
    //select race, otherwise skills tree wont show&lt;br /&gt;
    //Chargen_SelectRace(me,RACE_HUMAN);&lt;br /&gt;
    Chargen_SelectRace(me, nRace); //we passing race from original char&lt;br /&gt;
&lt;br /&gt;
    //no use for this since we passing core class from function&lt;br /&gt;
    //int nClass_s = CLASS_WARRIOR;&lt;br /&gt;
&lt;br /&gt;
    Chargen_SelectGender(me, nGender); //we passing gender from original char&lt;br /&gt;
&lt;br /&gt;
    //remove the defaults - leftover(s) from wiki, could be useful for some other approaches&lt;br /&gt;
    //CharGen_ClearAbilityList(me,1);//remove talents&lt;br /&gt;
    //CharGen_ClearAbilityList(me,2);//remove spells&lt;br /&gt;
    //CharGen_ClearAbilityList(me,3);//remove skills&lt;br /&gt;
&lt;br /&gt;
    //apply attributes, abilities and stats for the core class&lt;br /&gt;
    //SetCreatureProperty(me,PROPERTY_SIMPLE_CURRENT_CLASS, n1-3.0,PROPERTY_VALUE_BASE);&lt;br /&gt;
&lt;br /&gt;
    //we passed core class for our follower, in theory here we could change it&lt;br /&gt;
    //to be what we want (i.e. from warrior to mage)&lt;br /&gt;
    Chargen_SelectCoreClass(me, nCoreClass);&lt;br /&gt;
&lt;br /&gt;
    //add ability - just to test it&lt;br /&gt;
    //_AddAbility(me, ABILITY_TALENT_POWERFUL);&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; lop_ReHireFollower: Race: &amp;quot; + IntToString(nRace) +&lt;br /&gt;
        &amp;quot;, Current Core Class: &amp;quot; + IntToString(nClass) + &amp;quot;, Wanted Core Class: &amp;quot; + IntToString(nCoreClass) +&lt;br /&gt;
        &amp;quot;, Gender: &amp;quot; + IntToString(nGender) + &amp;quot;, Current (sub) Class: &amp;quot; + IntToString(nCurrentClass));&lt;br /&gt;
&lt;br /&gt;
    //tactics&lt;br /&gt;
    Chargen_SetNumTactics(me);&lt;br /&gt;
    Chargen_EnableTacticsPresets(me);&lt;br /&gt;
&lt;br /&gt;
    //level needed for scaling&lt;br /&gt;
    int nPackage = GetPackage(me);&lt;br /&gt;
    int nTargetLevel;&lt;br /&gt;
&lt;br /&gt;
    int nPlayerLevel = GetLevel(oPC);&lt;br /&gt;
    if(nPlayerLevel &amp;gt;= 13 || nPlayerLevel == 1 )&lt;br /&gt;
       nTargetLevel = nPlayerLevel;&lt;br /&gt;
    else&lt;br /&gt;
       nTargetLevel = nPlayerLevel + 1;&lt;br /&gt;
&lt;br /&gt;
    int nMinLevel = GetM2DAInt(TABLE_PACKAGES, &amp;quot;MinLevel&amp;quot;, nPackage);&lt;br /&gt;
&lt;br /&gt;
    if(nMinLevel &amp;gt; 0 &amp;amp;&amp;amp; nMinLevel &amp;gt; nTargetLevel)&lt;br /&gt;
       nTargetLevel = nMinLevel;&lt;br /&gt;
&lt;br /&gt;
    //xp until hero level&lt;br /&gt;
    int nXp = RW_GetXPNeededForLevel(Max(nTargetLevel, 1));&lt;br /&gt;
    RewardXP(me, nXp, FALSE, FALSE);&lt;br /&gt;
&lt;br /&gt;
    //add specialization&lt;br /&gt;
    float count=1.0;&lt;br /&gt;
    if(GetLevel(oPC)&amp;gt;=7)&lt;br /&gt;
    {&lt;br /&gt;
        SetCreatureProperty(me, 38, count);  // 38 is the spec point ID&lt;br /&gt;
        count=count+1.0;&lt;br /&gt;
    }&lt;br /&gt;
    if(GetLevel(oPC)&amp;gt;=14)&lt;br /&gt;
        SetCreatureProperty(me, 38, count);  // 38 is the spec point ID&lt;br /&gt;
&lt;br /&gt;
    //make available in party picker - don't know if its needed here for this case usage&lt;br /&gt;
    //SetFollowerState(me, FOLLOWER_STATE_ACTIVE);&lt;br /&gt;
    //SetFollowerState(me, FOLLOWER_STATE_AVAILABLE);&lt;br /&gt;
&lt;br /&gt;
    //dont fire player_core scaling&lt;br /&gt;
    SetLocalInt(me, FOLLOWER_SCALED, 1);&lt;br /&gt;
    SetLocalInt(me, AI_FLAG_STATIONARY, 0);&lt;br /&gt;
    SetLocalInt(me, AMBIENT_SYSTEM_STATE, 0);&lt;br /&gt;
    SetLocalInt(me, CREATURE_REWARD_FLAGS, 0);&lt;br /&gt;
&lt;br /&gt;
    //change script to player and send hire event&lt;br /&gt;
    SetEventScript(me, RESOURCE_SCRIPT_PLAYER_CORE);&lt;br /&gt;
    InitHeartbeat(me, CONFIG_CONSTANT_HEARTBEAT_RATE);&lt;br /&gt;
    SendPartyMemberHiredEvent(me, FALSE);&lt;br /&gt;
    SetFollowerApprovalEnabled(me,TRUE);&lt;br /&gt;
&lt;br /&gt;
    //open up party picker to allow npc to join in the active party - not needed in this usage&lt;br /&gt;
    //SetPartyPickerGUIStatus(2);&lt;br /&gt;
    //ShowPartyPickerGUI();&lt;br /&gt;
&lt;br /&gt;
    SetFollowerState(me, FOLLOWER_STATE_ACTIVE);  //put him in party&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; Custom Hire follower: &amp;quot; + GetTag(me) +&lt;br /&gt;
        &amp;quot;, Hero lvl: &amp;quot; + IntToString(nPlayerLevel) + &amp;quot;, Follower level: &amp;quot; + IntToString(nTargetLevel));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lop_UT_HireFollower(object oFollower, int bPreventLevelUp = FALSE, int nForceAutolevel = 0, int bResetFollower = FALSE, int nResetTo = 1)&lt;br /&gt;
{&lt;br /&gt;
    object oPC = GetPartyLeader();&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Hiring: &amp;quot; + GetTag(oFollower) +&lt;br /&gt;
        &amp;quot;, Party leader: &amp;quot; + GetTag(oPC) + &amp;quot;, Autolevel: &amp;quot; + IntToString(nForceAutolevel) +&lt;br /&gt;
        &amp;quot;, Reset follower: &amp;quot; + IntToString(bResetFollower));&lt;br /&gt;
&lt;br /&gt;
    //cannot be used for plot followers&lt;br /&gt;
    if(_UT_GetIsPlotFollower(oFollower))&lt;br /&gt;
    {&lt;br /&gt;
        PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Follower IS plot follower, exiting.&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    //calling this code caused follower to be hired and to gain xp&lt;br /&gt;
    SetAutoLevelUp(oFollower, nForceAutolevel);       //0 - off, 1 - autolevel, 2 - force autolevel&lt;br /&gt;
    SetGroupId(oFollower, GetGroupId(oPC));           //not sure if needed cause player_core resets it&lt;br /&gt;
    SetLocalInt(oFollower, CREATURE_REWARD_FLAGS, 0); //to gain xp&lt;br /&gt;
    WR_SetFollowerState(oFollower, FOLLOWER_STATE_ACTIVE, TRUE, 0, bPreventLevelUp);&lt;br /&gt;
&lt;br /&gt;
    //Show the AOE flag when the PC is a mage and aquires a follower or the follower hired is a mage&lt;br /&gt;
    if(GetLocalInt(GetModule(), TUTORIAL_ENABLED) &amp;amp;&amp;amp; (GetCreatureCoreClass(oPC) == CLASS_WIZARD || GetCreatureCoreClass(oFollower) == CLASS_WIZARD))&lt;br /&gt;
    {&lt;br /&gt;
        WR_SetPlotFlag(PLT_TUT_FRIENDLY_AOE, TUT_FRIENDLY_AOE_1, TRUE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (bResetFollower)&lt;br /&gt;
    {&lt;br /&gt;
        PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Resetting follower.&amp;quot;);&lt;br /&gt;
        //calling this will re-initialize follower&lt;br /&gt;
        lop_ReHireChar(oFollower, nResetTo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//activates group of triggers by tag&lt;br /&gt;
void yad_ActivateTrigger(string sTriggerTag, int bActivate = TRUE)&lt;br /&gt;
{&lt;br /&gt;
    object [] arActivate = GetNearestObjectByTag(GetMainControlled(), sTriggerTag, OBJECT_TYPE_TRIGGER, 15);&lt;br /&gt;
    int nSize = GetArraySize(arActivate);&lt;br /&gt;
&lt;br /&gt;
    object oActivate;&lt;br /&gt;
    int nIndex;&lt;br /&gt;
&lt;br /&gt;
    for (nIndex = 0; nIndex &amp;lt; nSize; ++nIndex)&lt;br /&gt;
    {&lt;br /&gt;
        oActivate = arActivate[nIndex];&lt;br /&gt;
        WR_SetObjectActive(oActivate, bActivate);&lt;br /&gt;
        DisplayFloatyMessage(oActivate, &amp;quot;Hello trigger!&amp;quot;, FLOATY_MESSAGE,16777215,10.0);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Playing_custom_Player_Character&amp;diff=19822</id>
		<title>Playing custom Player Character</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Playing_custom_Player_Character&amp;diff=19822"/>
				<updated>2017-10-17T08:42:06Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Characters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: dr. dummie&lt;br /&gt;
&lt;br /&gt;
Module UID: lpt&lt;br /&gt;
&lt;br /&gt;
Folder of all my resourses: z_lpt&lt;br /&gt;
&lt;br /&gt;
This tutorial:&lt;br /&gt;
* Allows you to play custom character.&lt;br /&gt;
* Start your module with cutscene.&lt;br /&gt;
* Allows you to create character 10 lvl and set it's characteristics as you want.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Characters ==&lt;br /&gt;
1 - Create 3 creatures&lt;br /&gt;
&lt;br /&gt;
* lpt_000c_ariana (tag &amp;quot;lpt_000c_ariana&amp;quot;) - This is our main character with features you like. Set her class, gender, VO and morph which starting weapons and armour he/she will have.&lt;br /&gt;
* lpt_000c_default_char (tag &amp;quot;default_player&amp;quot;) - this character who will mimic Jaden, default hero, so change only it's head morph, VO and gender. The rest must be default.&lt;br /&gt;
'''Note: If you change morph or VO of your PC you should change both files.'''&lt;br /&gt;
* lpt_000c_roquefort (tag &amp;quot;party_roquefort&amp;quot;) - this is the follower. Set up his gender, class, VO, inventory and head.&lt;br /&gt;
&lt;br /&gt;
2 - Rename &amp;quot;lpt_000c_default_char&amp;quot; manually in your module to &amp;quot;default_player&amp;quot;. You will find it in \..addins\your_module\module\override\- it will be packed with other resources as well.&lt;br /&gt;
&lt;br /&gt;
3 - Add follower into your starting area.&lt;br /&gt;
&lt;br /&gt;
== Plot file ==&lt;br /&gt;
You need to create plot file of your module. This must be called &amp;quot;lpt_module_plot&amp;quot;. Don't forget to create cutscene named &amp;quot;lpt_module_intro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There is only one Main Flag must be called MODULE_START_CUTSCENE with default settings.&lt;br /&gt;
&lt;br /&gt;
== Module script ==&lt;br /&gt;
&lt;br /&gt;
This is script of your module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//::///////////////////////////////////////////////&lt;br /&gt;
//:: Module Template&lt;br /&gt;
//:: Copyright (c) 2003 Bioware Corp.&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    Module events&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By:&lt;br /&gt;
//:: Created On:&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;log_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int FORCE_AUTOLEVEL = 0;  //to turn autolevel off&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    string sDebug;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
    object oParty = GetParty(oPC);&lt;br /&gt;
    int nEventHandled = FALSE;&lt;br /&gt;
&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: The module starts. This can happen only once for a single&lt;br /&gt;
        //       game instance.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_MODULE_START:&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
            //normally we would go trough chargen&lt;br /&gt;
            //PreloadCharGen();&lt;br /&gt;
            //StartCharGen(GetHero());&lt;br /&gt;
&lt;br /&gt;
            //but since we have fixed hero&lt;br /&gt;
            object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
            // skip character generation and set some defaults&lt;br /&gt;
            Chargen_InitializeCharacter(oHero);&lt;br /&gt;
            Chargen_SelectGender(oHero, GENDER_FEMALE);&lt;br /&gt;
            Chargen_SelectRace(oHero, RACE_HUMAN);&lt;br /&gt;
            Chargen_SelectCoreClass(oHero,CLASS_ROGUE);&lt;br /&gt;
            Chargen_SelectBackground(oHero, BACKGROUND_NOBLE);&lt;br /&gt;
&lt;br /&gt;
            //give hero a name&lt;br /&gt;
            SetName(oHero, &amp;quot;Ariana&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            //manually give the player some equipment&lt;br /&gt;
            //EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_cht_lgt_new.uti&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
            //or create your fixed character as template and then transfer everything on player.&lt;br /&gt;
            LoadItemsFromTemplate(oHero, &amp;quot;lpt_000c_ariana.utc&amp;quot;, TRUE);&lt;br /&gt;
&lt;br /&gt;
            //NOTE!&lt;br /&gt;
            //to get player appereance as you like, you must create blank char with desired facemorph&lt;br /&gt;
            //then after export copy that char to &amp;quot;default_player.utc&amp;quot; in your module override directory&lt;br /&gt;
            //so now this will be default char instead JADEN&lt;br /&gt;
&lt;br /&gt;
            // lets go level 10 and set autolevel to off&lt;br /&gt;
            RewardXP(oHero, RW_GetXPNeededForLevel(10), FALSE, FALSE);&lt;br /&gt;
            SetAutoLevelUp(oHero, FORCE_AUTOLEVEL);&lt;br /&gt;
&lt;br /&gt;
            PrintToLog(&amp;quot;------&amp;gt; MODULE START - Ariana created&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: The module loads from a save game. This event can fire more than&lt;br /&gt;
        //       once for a single module or game instance.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_MODULE_LOAD:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A player enters the module&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_ENTER:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: the player clicks on a destination in the world map&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_WORLD_MAP_USED:&lt;br /&gt;
        {&lt;br /&gt;
            int nFrom = GetEventInteger(ev, 0); // travel start location&lt;br /&gt;
            int nTo = GetEventInteger(ev, 1); // travel target location&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Area scipt ==&lt;br /&gt;
&lt;br /&gt;
This is script of your starting area&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//::///////////////////////////////////////////////&lt;br /&gt;
//:: Area Core&lt;br /&gt;
//:: Copyright (c) 2003 Bioware Corp.&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    Handles global area events&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By: Yaron&lt;br /&gt;
//:: Created On: July 17th, 2006&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;log_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
#include &amp;quot;2da_constants_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;lpt_utility_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;plt_lpt_module_plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    string sDebug;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
    object oParty = GetParty(oPC);&lt;br /&gt;
    int nEventHandled = FALSE;&lt;br /&gt;
&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        ///////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: it is for playing things like cutscenes and movies when&lt;br /&gt;
        // you enter an area, things that do not involve AI or actual game play&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_SPECIAL:&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
            PrintToLog(&amp;quot;-----&amp;gt; START AREA - AREALOAD SPECIAL.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            //moved cutscene and hiring code to postloadexit cause some&lt;br /&gt;
            //stuff didnt worked here&lt;br /&gt;
&lt;br /&gt;
            //EDIT: It seems that works with this approach! left other info for&lt;br /&gt;
            //      learn and debug purposes.&lt;br /&gt;
&lt;br /&gt;
            //we run cutscene in this event cause in areaload special we could not&lt;br /&gt;
            //hire follower with desired behavior (gain xp and skills can be set)..&lt;br /&gt;
            //since cutscene and hiring are to be done only once we keep them together.&lt;br /&gt;
            //here it works.. why? i dont know..&lt;br /&gt;
            if (WR_GetPlotFlag(PLT_LPT_MODULE_PLOT, MODULE_START_CUTSCENE) == FALSE)&lt;br /&gt;
            {&lt;br /&gt;
                //roquefort is added to start area and has tag &amp;quot;roquefort&amp;quot;&lt;br /&gt;
                object oFollower = GetObjectByTag(&amp;quot;party_roquefort&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
                //this caused follower to not gain xp, it is bug in game script&lt;br /&gt;
                //UT_HireFollower(oFollower); //we're not using this&lt;br /&gt;
&lt;br /&gt;
                //instead hiring follower with UT_hirefollower, set plot flag and&lt;br /&gt;
                //start script which will hire Roquefort..&lt;br /&gt;
                //this is used if you want to set plot flag to &amp;quot;know&amp;quot; that roquefort is hired&lt;br /&gt;
                //like in some dialogues etc where you can check for conditions..&lt;br /&gt;
                //WR_SetPlotFlag(PLT_LOP_MODULE_PLOT, ROQUEFORT_HIRED, TRUE, TRUE);&lt;br /&gt;
&lt;br /&gt;
                //eventually we can try this to avoid plots at all!&lt;br /&gt;
                //but i guess it would not work as it should without setting&lt;br /&gt;
                //bResetFollower to true..&lt;br /&gt;
                lop_UT_HireFollower(oFollower, FALSE, 0, TRUE, CLASS_WARRIOR);&lt;br /&gt;
&lt;br /&gt;
                // Start cutscene, also set plot flag that cutscene was played.&lt;br /&gt;
                PrintToLog(&amp;quot;-----&amp;gt; START AREA - Load Cutscene.&amp;quot;);&lt;br /&gt;
                CS_LoadCutscene(R&amp;quot;lpt_module_intro.cut&amp;quot;, PLT_LPT_MODULE_PLOT, MODULE_START_CUTSCENE);&lt;br /&gt;
                PlayCutscene();&lt;br /&gt;
             }&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ///////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: for things you want to happen while the load screen is still up,&lt;br /&gt;
        // things like moving creatures around&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_PRELOADEXIT:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: fires at the same time that the load screen is going away,&lt;br /&gt;
        // and can be used for things that you want to make sure the player sees.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_POSTLOADEXIT:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A creature enters the area&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_ENTER:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A creature exits the area&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_EXIT:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_AREA_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
== One more script ==&lt;br /&gt;
This one must be called lpt_utility_h. Don't worry why this cannot be compiled directly cause it is header script and it contains functions, constants, not main logic flow it is compiled automatically when you include it in some other script and use some function from it.&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
                      //:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    &amp;quot;Lady of pain&amp;quot;&lt;br /&gt;
     -&amp;gt; Utility include script&lt;br /&gt;
&lt;br /&gt;
     This file contains utility functions&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By: Kivito&lt;br /&gt;
//:: Created On: 19.10.2013&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;plt_tut_friendly_aoe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//clears creature stats (from wiki)&lt;br /&gt;
void lop_ClearCharStats(object oFollower);&lt;br /&gt;
&lt;br /&gt;
//resets all creature points to defaults&lt;br /&gt;
//it should be called ONLY AFTER follower is hired,&lt;br /&gt;
//also you can change core class for follower&lt;br /&gt;
void lop_ReHireChar(object oFollower, int nCoreClass = 1);&lt;br /&gt;
&lt;br /&gt;
//custom hire follower with parameters, if bResetFollower is true,&lt;br /&gt;
//then all followers points are reset to defaults, also if nCoreClass is specified&lt;br /&gt;
//it is possible to change i.e. warrior to mage&lt;br /&gt;
void lop_UT_HireFollower(object oFollower, int bPreventLevelUp = FALSE, int nForceAutolevel = 0, int bResetFollower = FALSE, int nResetTo = 1);&lt;br /&gt;
&lt;br /&gt;
void lop_ClearCharStats(object oChar)&lt;br /&gt;
{&lt;br /&gt;
    // Initialize all creature properties to default value&lt;br /&gt;
&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_SIMPLE_LEVEL,1.0f,PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_SIMPLE_EXPERIENCE,0.0f,PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_STRENGTH,      CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_DEXTERITY,     CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_CONSTITUTION,  CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_WILLPOWER,     CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_INTELLIGENCE,  CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_MAGIC,         CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_ATTACK_SPEED_MODIFIER,     1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_DAMAGE_SCALE,       1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_RESISTANCE_MENTAL,         0.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_RESISTANCE_PHYSICAL,       0.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,51,       1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_HEALTH_COMBAT,  REGENERATION_HEALTH_COMBAT_DEFAULT);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_STAMINA_COMBAT, REGENERATION_STAMINA_COMBAT_DEFAULT);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_HEALTH,REGENERATION_HEALTH_EXPLORE_DEFAULT, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_STAMINA, REGENERATION_STAMINA_EXPLORE_DEFAULT, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_MISSILE_SHIELD,0.0);&lt;br /&gt;
    SetCreatureProperty(oChar, 38,0.0);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_DEPLETABLE_HEALTH ,          1.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_DEPLETABLE_MANA_STAMINA ,    0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_DEFENSE ,          0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_ATTACK,            0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_DAMAGE_BONUS,      0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_FLANKING_ANGLE,  60.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lop_ReHireChar(object oFollower, int nCoreClass = 1)&lt;br /&gt;
{&lt;br /&gt;
    object me = oFollower;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
&lt;br /&gt;
    //lets get some info from original follower&lt;br /&gt;
&lt;br /&gt;
    //this returns invalid class(0)!! probably cause when hiring a follower&lt;br /&gt;
    //game performes some AI update in &amp;quot;areaload special&amp;quot; event&lt;br /&gt;
    int nClass = GetCreatureCoreClass(me);&lt;br /&gt;
    int nCurrentClass = GetCreatureCurrentClass(me);&lt;br /&gt;
&lt;br /&gt;
    int nRace = GetCreatureRacialType(me);&lt;br /&gt;
    int nGender = GetCreatureGender(me);&lt;br /&gt;
&lt;br /&gt;
    //it seems we dont need this&lt;br /&gt;
    //lop_ClearCharStats(me);&lt;br /&gt;
&lt;br /&gt;
    //cause this went well&lt;br /&gt;
    Chargen_InitializeCharacter(me);&lt;br /&gt;
&lt;br /&gt;
    //select race, otherwise skills tree wont show&lt;br /&gt;
    //Chargen_SelectRace(me,RACE_HUMAN);&lt;br /&gt;
    Chargen_SelectRace(me, nRace); //we passing race from original char&lt;br /&gt;
&lt;br /&gt;
    //no use for this since we passing core class from function&lt;br /&gt;
    //int nClass_s = CLASS_WARRIOR;&lt;br /&gt;
&lt;br /&gt;
    Chargen_SelectGender(me, nGender); //we passing gender from original char&lt;br /&gt;
&lt;br /&gt;
    //remove the defaults - leftover(s) from wiki, could be useful for some other approaches&lt;br /&gt;
    //CharGen_ClearAbilityList(me,1);//remove talents&lt;br /&gt;
    //CharGen_ClearAbilityList(me,2);//remove spells&lt;br /&gt;
    //CharGen_ClearAbilityList(me,3);//remove skills&lt;br /&gt;
&lt;br /&gt;
    //apply attributes, abilities and stats for the core class&lt;br /&gt;
    //SetCreatureProperty(me,PROPERTY_SIMPLE_CURRENT_CLASS, n1-3.0,PROPERTY_VALUE_BASE);&lt;br /&gt;
&lt;br /&gt;
    //we passed core class for our follower, in theory here we could change it&lt;br /&gt;
    //to be what we want (i.e. from warrior to mage)&lt;br /&gt;
    Chargen_SelectCoreClass(me, nCoreClass);&lt;br /&gt;
&lt;br /&gt;
    //add ability - just to test it&lt;br /&gt;
    //_AddAbility(me, ABILITY_TALENT_POWERFUL);&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; lop_ReHireFollower: Race: &amp;quot; + IntToString(nRace) +&lt;br /&gt;
        &amp;quot;, Current Core Class: &amp;quot; + IntToString(nClass) + &amp;quot;, Wanted Core Class: &amp;quot; + IntToString(nCoreClass) +&lt;br /&gt;
        &amp;quot;, Gender: &amp;quot; + IntToString(nGender) + &amp;quot;, Current (sub) Class: &amp;quot; + IntToString(nCurrentClass));&lt;br /&gt;
&lt;br /&gt;
    //tactics&lt;br /&gt;
    Chargen_SetNumTactics(me);&lt;br /&gt;
    Chargen_EnableTacticsPresets(me);&lt;br /&gt;
&lt;br /&gt;
    //level needed for scaling&lt;br /&gt;
    int nPackage = GetPackage(me);&lt;br /&gt;
    int nTargetLevel;&lt;br /&gt;
&lt;br /&gt;
    int nPlayerLevel = GetLevel(oPC);&lt;br /&gt;
    if(nPlayerLevel &amp;gt;= 13 || nPlayerLevel == 1 )&lt;br /&gt;
       nTargetLevel = nPlayerLevel;&lt;br /&gt;
    else&lt;br /&gt;
       nTargetLevel = nPlayerLevel + 1;&lt;br /&gt;
&lt;br /&gt;
    int nMinLevel = GetM2DAInt(TABLE_PACKAGES, &amp;quot;MinLevel&amp;quot;, nPackage);&lt;br /&gt;
&lt;br /&gt;
    if(nMinLevel &amp;gt; 0 &amp;amp;&amp;amp; nMinLevel &amp;gt; nTargetLevel)&lt;br /&gt;
       nTargetLevel = nMinLevel;&lt;br /&gt;
&lt;br /&gt;
    //xp until hero level&lt;br /&gt;
    int nXp = RW_GetXPNeededForLevel(Max(nTargetLevel, 1));&lt;br /&gt;
    RewardXP(me, nXp, FALSE, FALSE);&lt;br /&gt;
&lt;br /&gt;
    //add specialization&lt;br /&gt;
    float count=1.0;&lt;br /&gt;
    if(GetLevel(oPC)&amp;gt;=7)&lt;br /&gt;
    {&lt;br /&gt;
        SetCreatureProperty(me, 38, count);  // 38 is the spec point ID&lt;br /&gt;
        count=count+1.0;&lt;br /&gt;
    }&lt;br /&gt;
    if(GetLevel(oPC)&amp;gt;=14)&lt;br /&gt;
        SetCreatureProperty(me, 38, count);  // 38 is the spec point ID&lt;br /&gt;
&lt;br /&gt;
    //make available in party picker - don't know if its needed here for this case usage&lt;br /&gt;
    //SetFollowerState(me, FOLLOWER_STATE_ACTIVE);&lt;br /&gt;
    //SetFollowerState(me, FOLLOWER_STATE_AVAILABLE);&lt;br /&gt;
&lt;br /&gt;
    //dont fire player_core scaling&lt;br /&gt;
    SetLocalInt(me, FOLLOWER_SCALED, 1);&lt;br /&gt;
    SetLocalInt(me, AI_FLAG_STATIONARY, 0);&lt;br /&gt;
    SetLocalInt(me, AMBIENT_SYSTEM_STATE, 0);&lt;br /&gt;
    SetLocalInt(me, CREATURE_REWARD_FLAGS, 0);&lt;br /&gt;
&lt;br /&gt;
    //change script to player and send hire event&lt;br /&gt;
    SetEventScript(me, RESOURCE_SCRIPT_PLAYER_CORE);&lt;br /&gt;
    InitHeartbeat(me, CONFIG_CONSTANT_HEARTBEAT_RATE);&lt;br /&gt;
    SendPartyMemberHiredEvent(me, FALSE);&lt;br /&gt;
    SetFollowerApprovalEnabled(me,TRUE);&lt;br /&gt;
&lt;br /&gt;
    //open up party picker to allow npc to join in the active party - not needed in this usage&lt;br /&gt;
    //SetPartyPickerGUIStatus(2);&lt;br /&gt;
    //ShowPartyPickerGUI();&lt;br /&gt;
&lt;br /&gt;
    SetFollowerState(me, FOLLOWER_STATE_ACTIVE);  //put him in party&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; Custom Hire follower: &amp;quot; + GetTag(me) +&lt;br /&gt;
        &amp;quot;, Hero lvl: &amp;quot; + IntToString(nPlayerLevel) + &amp;quot;, Follower level: &amp;quot; + IntToString(nTargetLevel));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lop_UT_HireFollower(object oFollower, int bPreventLevelUp = FALSE, int nForceAutolevel = 0, int bResetFollower = FALSE, int nResetTo = 1)&lt;br /&gt;
{&lt;br /&gt;
    object oPC = GetPartyLeader();&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Hiring: &amp;quot; + GetTag(oFollower) +&lt;br /&gt;
        &amp;quot;, Party leader: &amp;quot; + GetTag(oPC) + &amp;quot;, Autolevel: &amp;quot; + IntToString(nForceAutolevel) +&lt;br /&gt;
        &amp;quot;, Reset follower: &amp;quot; + IntToString(bResetFollower));&lt;br /&gt;
&lt;br /&gt;
    //cannot be used for plot followers&lt;br /&gt;
    if(_UT_GetIsPlotFollower(oFollower))&lt;br /&gt;
    {&lt;br /&gt;
        PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Follower IS plot follower, exiting.&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    //calling this code caused follower to be hired and to gain xp&lt;br /&gt;
    SetAutoLevelUp(oFollower, nForceAutolevel);       //0 - off, 1 - autolevel, 2 - force autolevel&lt;br /&gt;
    SetGroupId(oFollower, GetGroupId(oPC));           //not sure if needed cause player_core resets it&lt;br /&gt;
    SetLocalInt(oFollower, CREATURE_REWARD_FLAGS, 0); //to gain xp&lt;br /&gt;
    WR_SetFollowerState(oFollower, FOLLOWER_STATE_ACTIVE, TRUE, 0, bPreventLevelUp);&lt;br /&gt;
&lt;br /&gt;
    //Show the AOE flag when the PC is a mage and aquires a follower or the follower hired is a mage&lt;br /&gt;
    if(GetLocalInt(GetModule(), TUTORIAL_ENABLED) &amp;amp;&amp;amp; (GetCreatureCoreClass(oPC) == CLASS_WIZARD || GetCreatureCoreClass(oFollower) == CLASS_WIZARD))&lt;br /&gt;
    {&lt;br /&gt;
        WR_SetPlotFlag(PLT_TUT_FRIENDLY_AOE, TUT_FRIENDLY_AOE_1, TRUE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (bResetFollower)&lt;br /&gt;
    {&lt;br /&gt;
        PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Resetting follower.&amp;quot;);&lt;br /&gt;
        //calling this will re-initialize follower&lt;br /&gt;
        lop_ReHireChar(oFollower, nResetTo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//activates group of triggers by tag&lt;br /&gt;
void yad_ActivateTrigger(string sTriggerTag, int bActivate = TRUE)&lt;br /&gt;
{&lt;br /&gt;
    object [] arActivate = GetNearestObjectByTag(GetMainControlled(), sTriggerTag, OBJECT_TYPE_TRIGGER, 15);&lt;br /&gt;
    int nSize = GetArraySize(arActivate);&lt;br /&gt;
&lt;br /&gt;
    object oActivate;&lt;br /&gt;
    int nIndex;&lt;br /&gt;
&lt;br /&gt;
    for (nIndex = 0; nIndex &amp;lt; nSize; ++nIndex)&lt;br /&gt;
    {&lt;br /&gt;
        oActivate = arActivate[nIndex];&lt;br /&gt;
        WR_SetObjectActive(oActivate, bActivate);&lt;br /&gt;
        DisplayFloatyMessage(oActivate, &amp;quot;Hello trigger!&amp;quot;, FLOATY_MESSAGE,16777215,10.0);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Playing_custom_Player_Character&amp;diff=19821</id>
		<title>Playing custom Player Character</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Playing_custom_Player_Character&amp;diff=19821"/>
				<updated>2017-10-17T08:41:42Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Characters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: dr. dummie&lt;br /&gt;
&lt;br /&gt;
Module UID: lpt&lt;br /&gt;
&lt;br /&gt;
Folder of all my resourses: z_lpt&lt;br /&gt;
&lt;br /&gt;
This tutorial:&lt;br /&gt;
* Allows you to play custom character.&lt;br /&gt;
* Start your module with cutscene.&lt;br /&gt;
* Allows you to create character 10 lvl and set it's characteristics as you want.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Characters ==&lt;br /&gt;
1 - Create 3 creatures&lt;br /&gt;
&lt;br /&gt;
* lpt_000c_ariana (tag &amp;quot;lpt_000c_ariana&amp;quot;) - This is our main character with features you like. Set her class, gender, VO and morph which starting weapons and armour he/she will have.&lt;br /&gt;
* lpt_000c_default_char (tag &amp;quot;default_player&amp;quot;) - this character who will mimic Jaden, default hero, so change only it's head morph, VO and gender. The rest must be default. &lt;br /&gt;
* lpt_000c_roquefort (tag &amp;quot;party_roquefort&amp;quot;) - this is the follower. Set up his gender, class, VO, inventory and head.&lt;br /&gt;
&lt;br /&gt;
2 - Rename &amp;quot;lpt_000c_default_char&amp;quot; manually in your module to &amp;quot;default_player&amp;quot;. You will find it in \..addins\your_module\module\override\- it will be packed with other resources as well.&lt;br /&gt;
&lt;br /&gt;
3 - Add follower into your starting area.&lt;br /&gt;
&lt;br /&gt;
Note: If you change morph or VO of your PC you should change both files.&lt;br /&gt;
&lt;br /&gt;
== Plot file ==&lt;br /&gt;
You need to create plot file of your module. This must be called &amp;quot;lpt_module_plot&amp;quot;. Don't forget to create cutscene named &amp;quot;lpt_module_intro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There is only one Main Flag must be called MODULE_START_CUTSCENE with default settings.&lt;br /&gt;
&lt;br /&gt;
== Module script ==&lt;br /&gt;
&lt;br /&gt;
This is script of your module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//::///////////////////////////////////////////////&lt;br /&gt;
//:: Module Template&lt;br /&gt;
//:: Copyright (c) 2003 Bioware Corp.&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    Module events&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By:&lt;br /&gt;
//:: Created On:&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;log_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int FORCE_AUTOLEVEL = 0;  //to turn autolevel off&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    string sDebug;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
    object oParty = GetParty(oPC);&lt;br /&gt;
    int nEventHandled = FALSE;&lt;br /&gt;
&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: The module starts. This can happen only once for a single&lt;br /&gt;
        //       game instance.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_MODULE_START:&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
            //normally we would go trough chargen&lt;br /&gt;
            //PreloadCharGen();&lt;br /&gt;
            //StartCharGen(GetHero());&lt;br /&gt;
&lt;br /&gt;
            //but since we have fixed hero&lt;br /&gt;
            object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
            // skip character generation and set some defaults&lt;br /&gt;
            Chargen_InitializeCharacter(oHero);&lt;br /&gt;
            Chargen_SelectGender(oHero, GENDER_FEMALE);&lt;br /&gt;
            Chargen_SelectRace(oHero, RACE_HUMAN);&lt;br /&gt;
            Chargen_SelectCoreClass(oHero,CLASS_ROGUE);&lt;br /&gt;
            Chargen_SelectBackground(oHero, BACKGROUND_NOBLE);&lt;br /&gt;
&lt;br /&gt;
            //give hero a name&lt;br /&gt;
            SetName(oHero, &amp;quot;Ariana&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            //manually give the player some equipment&lt;br /&gt;
            //EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_cht_lgt_new.uti&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
            //or create your fixed character as template and then transfer everything on player.&lt;br /&gt;
            LoadItemsFromTemplate(oHero, &amp;quot;lpt_000c_ariana.utc&amp;quot;, TRUE);&lt;br /&gt;
&lt;br /&gt;
            //NOTE!&lt;br /&gt;
            //to get player appereance as you like, you must create blank char with desired facemorph&lt;br /&gt;
            //then after export copy that char to &amp;quot;default_player.utc&amp;quot; in your module override directory&lt;br /&gt;
            //so now this will be default char instead JADEN&lt;br /&gt;
&lt;br /&gt;
            // lets go level 10 and set autolevel to off&lt;br /&gt;
            RewardXP(oHero, RW_GetXPNeededForLevel(10), FALSE, FALSE);&lt;br /&gt;
            SetAutoLevelUp(oHero, FORCE_AUTOLEVEL);&lt;br /&gt;
&lt;br /&gt;
            PrintToLog(&amp;quot;------&amp;gt; MODULE START - Ariana created&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: The module loads from a save game. This event can fire more than&lt;br /&gt;
        //       once for a single module or game instance.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_MODULE_LOAD:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A player enters the module&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_ENTER:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: the player clicks on a destination in the world map&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_WORLD_MAP_USED:&lt;br /&gt;
        {&lt;br /&gt;
            int nFrom = GetEventInteger(ev, 0); // travel start location&lt;br /&gt;
            int nTo = GetEventInteger(ev, 1); // travel target location&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Area scipt ==&lt;br /&gt;
&lt;br /&gt;
This is script of your starting area&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//::///////////////////////////////////////////////&lt;br /&gt;
//:: Area Core&lt;br /&gt;
//:: Copyright (c) 2003 Bioware Corp.&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    Handles global area events&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By: Yaron&lt;br /&gt;
//:: Created On: July 17th, 2006&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;log_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
#include &amp;quot;2da_constants_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;lpt_utility_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;plt_lpt_module_plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    string sDebug;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
    object oParty = GetParty(oPC);&lt;br /&gt;
    int nEventHandled = FALSE;&lt;br /&gt;
&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        ///////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: it is for playing things like cutscenes and movies when&lt;br /&gt;
        // you enter an area, things that do not involve AI or actual game play&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_SPECIAL:&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
            PrintToLog(&amp;quot;-----&amp;gt; START AREA - AREALOAD SPECIAL.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            //moved cutscene and hiring code to postloadexit cause some&lt;br /&gt;
            //stuff didnt worked here&lt;br /&gt;
&lt;br /&gt;
            //EDIT: It seems that works with this approach! left other info for&lt;br /&gt;
            //      learn and debug purposes.&lt;br /&gt;
&lt;br /&gt;
            //we run cutscene in this event cause in areaload special we could not&lt;br /&gt;
            //hire follower with desired behavior (gain xp and skills can be set)..&lt;br /&gt;
            //since cutscene and hiring are to be done only once we keep them together.&lt;br /&gt;
            //here it works.. why? i dont know..&lt;br /&gt;
            if (WR_GetPlotFlag(PLT_LPT_MODULE_PLOT, MODULE_START_CUTSCENE) == FALSE)&lt;br /&gt;
            {&lt;br /&gt;
                //roquefort is added to start area and has tag &amp;quot;roquefort&amp;quot;&lt;br /&gt;
                object oFollower = GetObjectByTag(&amp;quot;party_roquefort&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
                //this caused follower to not gain xp, it is bug in game script&lt;br /&gt;
                //UT_HireFollower(oFollower); //we're not using this&lt;br /&gt;
&lt;br /&gt;
                //instead hiring follower with UT_hirefollower, set plot flag and&lt;br /&gt;
                //start script which will hire Roquefort..&lt;br /&gt;
                //this is used if you want to set plot flag to &amp;quot;know&amp;quot; that roquefort is hired&lt;br /&gt;
                //like in some dialogues etc where you can check for conditions..&lt;br /&gt;
                //WR_SetPlotFlag(PLT_LOP_MODULE_PLOT, ROQUEFORT_HIRED, TRUE, TRUE);&lt;br /&gt;
&lt;br /&gt;
                //eventually we can try this to avoid plots at all!&lt;br /&gt;
                //but i guess it would not work as it should without setting&lt;br /&gt;
                //bResetFollower to true..&lt;br /&gt;
                lop_UT_HireFollower(oFollower, FALSE, 0, TRUE, CLASS_WARRIOR);&lt;br /&gt;
&lt;br /&gt;
                // Start cutscene, also set plot flag that cutscene was played.&lt;br /&gt;
                PrintToLog(&amp;quot;-----&amp;gt; START AREA - Load Cutscene.&amp;quot;);&lt;br /&gt;
                CS_LoadCutscene(R&amp;quot;lpt_module_intro.cut&amp;quot;, PLT_LPT_MODULE_PLOT, MODULE_START_CUTSCENE);&lt;br /&gt;
                PlayCutscene();&lt;br /&gt;
             }&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ///////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: for things you want to happen while the load screen is still up,&lt;br /&gt;
        // things like moving creatures around&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_PRELOADEXIT:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: fires at the same time that the load screen is going away,&lt;br /&gt;
        // and can be used for things that you want to make sure the player sees.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_POSTLOADEXIT:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A creature enters the area&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_ENTER:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A creature exits the area&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_EXIT:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_AREA_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
== One more script ==&lt;br /&gt;
This one must be called lpt_utility_h. Don't worry why this cannot be compiled directly cause it is header script and it contains functions, constants, not main logic flow it is compiled automatically when you include it in some other script and use some function from it.&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
                      //:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    &amp;quot;Lady of pain&amp;quot;&lt;br /&gt;
     -&amp;gt; Utility include script&lt;br /&gt;
&lt;br /&gt;
     This file contains utility functions&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By: Kivito&lt;br /&gt;
//:: Created On: 19.10.2013&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;plt_tut_friendly_aoe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//clears creature stats (from wiki)&lt;br /&gt;
void lop_ClearCharStats(object oFollower);&lt;br /&gt;
&lt;br /&gt;
//resets all creature points to defaults&lt;br /&gt;
//it should be called ONLY AFTER follower is hired,&lt;br /&gt;
//also you can change core class for follower&lt;br /&gt;
void lop_ReHireChar(object oFollower, int nCoreClass = 1);&lt;br /&gt;
&lt;br /&gt;
//custom hire follower with parameters, if bResetFollower is true,&lt;br /&gt;
//then all followers points are reset to defaults, also if nCoreClass is specified&lt;br /&gt;
//it is possible to change i.e. warrior to mage&lt;br /&gt;
void lop_UT_HireFollower(object oFollower, int bPreventLevelUp = FALSE, int nForceAutolevel = 0, int bResetFollower = FALSE, int nResetTo = 1);&lt;br /&gt;
&lt;br /&gt;
void lop_ClearCharStats(object oChar)&lt;br /&gt;
{&lt;br /&gt;
    // Initialize all creature properties to default value&lt;br /&gt;
&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_SIMPLE_LEVEL,1.0f,PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_SIMPLE_EXPERIENCE,0.0f,PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_STRENGTH,      CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_DEXTERITY,     CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_CONSTITUTION,  CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_WILLPOWER,     CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_INTELLIGENCE,  CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_MAGIC,         CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_ATTACK_SPEED_MODIFIER,     1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_DAMAGE_SCALE,       1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_RESISTANCE_MENTAL,         0.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_RESISTANCE_PHYSICAL,       0.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,51,       1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_HEALTH_COMBAT,  REGENERATION_HEALTH_COMBAT_DEFAULT);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_STAMINA_COMBAT, REGENERATION_STAMINA_COMBAT_DEFAULT);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_HEALTH,REGENERATION_HEALTH_EXPLORE_DEFAULT, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_STAMINA, REGENERATION_STAMINA_EXPLORE_DEFAULT, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_MISSILE_SHIELD,0.0);&lt;br /&gt;
    SetCreatureProperty(oChar, 38,0.0);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_DEPLETABLE_HEALTH ,          1.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_DEPLETABLE_MANA_STAMINA ,    0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_DEFENSE ,          0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_ATTACK,            0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_DAMAGE_BONUS,      0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_FLANKING_ANGLE,  60.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lop_ReHireChar(object oFollower, int nCoreClass = 1)&lt;br /&gt;
{&lt;br /&gt;
    object me = oFollower;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
&lt;br /&gt;
    //lets get some info from original follower&lt;br /&gt;
&lt;br /&gt;
    //this returns invalid class(0)!! probably cause when hiring a follower&lt;br /&gt;
    //game performes some AI update in &amp;quot;areaload special&amp;quot; event&lt;br /&gt;
    int nClass = GetCreatureCoreClass(me);&lt;br /&gt;
    int nCurrentClass = GetCreatureCurrentClass(me);&lt;br /&gt;
&lt;br /&gt;
    int nRace = GetCreatureRacialType(me);&lt;br /&gt;
    int nGender = GetCreatureGender(me);&lt;br /&gt;
&lt;br /&gt;
    //it seems we dont need this&lt;br /&gt;
    //lop_ClearCharStats(me);&lt;br /&gt;
&lt;br /&gt;
    //cause this went well&lt;br /&gt;
    Chargen_InitializeCharacter(me);&lt;br /&gt;
&lt;br /&gt;
    //select race, otherwise skills tree wont show&lt;br /&gt;
    //Chargen_SelectRace(me,RACE_HUMAN);&lt;br /&gt;
    Chargen_SelectRace(me, nRace); //we passing race from original char&lt;br /&gt;
&lt;br /&gt;
    //no use for this since we passing core class from function&lt;br /&gt;
    //int nClass_s = CLASS_WARRIOR;&lt;br /&gt;
&lt;br /&gt;
    Chargen_SelectGender(me, nGender); //we passing gender from original char&lt;br /&gt;
&lt;br /&gt;
    //remove the defaults - leftover(s) from wiki, could be useful for some other approaches&lt;br /&gt;
    //CharGen_ClearAbilityList(me,1);//remove talents&lt;br /&gt;
    //CharGen_ClearAbilityList(me,2);//remove spells&lt;br /&gt;
    //CharGen_ClearAbilityList(me,3);//remove skills&lt;br /&gt;
&lt;br /&gt;
    //apply attributes, abilities and stats for the core class&lt;br /&gt;
    //SetCreatureProperty(me,PROPERTY_SIMPLE_CURRENT_CLASS, n1-3.0,PROPERTY_VALUE_BASE);&lt;br /&gt;
&lt;br /&gt;
    //we passed core class for our follower, in theory here we could change it&lt;br /&gt;
    //to be what we want (i.e. from warrior to mage)&lt;br /&gt;
    Chargen_SelectCoreClass(me, nCoreClass);&lt;br /&gt;
&lt;br /&gt;
    //add ability - just to test it&lt;br /&gt;
    //_AddAbility(me, ABILITY_TALENT_POWERFUL);&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; lop_ReHireFollower: Race: &amp;quot; + IntToString(nRace) +&lt;br /&gt;
        &amp;quot;, Current Core Class: &amp;quot; + IntToString(nClass) + &amp;quot;, Wanted Core Class: &amp;quot; + IntToString(nCoreClass) +&lt;br /&gt;
        &amp;quot;, Gender: &amp;quot; + IntToString(nGender) + &amp;quot;, Current (sub) Class: &amp;quot; + IntToString(nCurrentClass));&lt;br /&gt;
&lt;br /&gt;
    //tactics&lt;br /&gt;
    Chargen_SetNumTactics(me);&lt;br /&gt;
    Chargen_EnableTacticsPresets(me);&lt;br /&gt;
&lt;br /&gt;
    //level needed for scaling&lt;br /&gt;
    int nPackage = GetPackage(me);&lt;br /&gt;
    int nTargetLevel;&lt;br /&gt;
&lt;br /&gt;
    int nPlayerLevel = GetLevel(oPC);&lt;br /&gt;
    if(nPlayerLevel &amp;gt;= 13 || nPlayerLevel == 1 )&lt;br /&gt;
       nTargetLevel = nPlayerLevel;&lt;br /&gt;
    else&lt;br /&gt;
       nTargetLevel = nPlayerLevel + 1;&lt;br /&gt;
&lt;br /&gt;
    int nMinLevel = GetM2DAInt(TABLE_PACKAGES, &amp;quot;MinLevel&amp;quot;, nPackage);&lt;br /&gt;
&lt;br /&gt;
    if(nMinLevel &amp;gt; 0 &amp;amp;&amp;amp; nMinLevel &amp;gt; nTargetLevel)&lt;br /&gt;
       nTargetLevel = nMinLevel;&lt;br /&gt;
&lt;br /&gt;
    //xp until hero level&lt;br /&gt;
    int nXp = RW_GetXPNeededForLevel(Max(nTargetLevel, 1));&lt;br /&gt;
    RewardXP(me, nXp, FALSE, FALSE);&lt;br /&gt;
&lt;br /&gt;
    //add specialization&lt;br /&gt;
    float count=1.0;&lt;br /&gt;
    if(GetLevel(oPC)&amp;gt;=7)&lt;br /&gt;
    {&lt;br /&gt;
        SetCreatureProperty(me, 38, count);  // 38 is the spec point ID&lt;br /&gt;
        count=count+1.0;&lt;br /&gt;
    }&lt;br /&gt;
    if(GetLevel(oPC)&amp;gt;=14)&lt;br /&gt;
        SetCreatureProperty(me, 38, count);  // 38 is the spec point ID&lt;br /&gt;
&lt;br /&gt;
    //make available in party picker - don't know if its needed here for this case usage&lt;br /&gt;
    //SetFollowerState(me, FOLLOWER_STATE_ACTIVE);&lt;br /&gt;
    //SetFollowerState(me, FOLLOWER_STATE_AVAILABLE);&lt;br /&gt;
&lt;br /&gt;
    //dont fire player_core scaling&lt;br /&gt;
    SetLocalInt(me, FOLLOWER_SCALED, 1);&lt;br /&gt;
    SetLocalInt(me, AI_FLAG_STATIONARY, 0);&lt;br /&gt;
    SetLocalInt(me, AMBIENT_SYSTEM_STATE, 0);&lt;br /&gt;
    SetLocalInt(me, CREATURE_REWARD_FLAGS, 0);&lt;br /&gt;
&lt;br /&gt;
    //change script to player and send hire event&lt;br /&gt;
    SetEventScript(me, RESOURCE_SCRIPT_PLAYER_CORE);&lt;br /&gt;
    InitHeartbeat(me, CONFIG_CONSTANT_HEARTBEAT_RATE);&lt;br /&gt;
    SendPartyMemberHiredEvent(me, FALSE);&lt;br /&gt;
    SetFollowerApprovalEnabled(me,TRUE);&lt;br /&gt;
&lt;br /&gt;
    //open up party picker to allow npc to join in the active party - not needed in this usage&lt;br /&gt;
    //SetPartyPickerGUIStatus(2);&lt;br /&gt;
    //ShowPartyPickerGUI();&lt;br /&gt;
&lt;br /&gt;
    SetFollowerState(me, FOLLOWER_STATE_ACTIVE);  //put him in party&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; Custom Hire follower: &amp;quot; + GetTag(me) +&lt;br /&gt;
        &amp;quot;, Hero lvl: &amp;quot; + IntToString(nPlayerLevel) + &amp;quot;, Follower level: &amp;quot; + IntToString(nTargetLevel));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lop_UT_HireFollower(object oFollower, int bPreventLevelUp = FALSE, int nForceAutolevel = 0, int bResetFollower = FALSE, int nResetTo = 1)&lt;br /&gt;
{&lt;br /&gt;
    object oPC = GetPartyLeader();&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Hiring: &amp;quot; + GetTag(oFollower) +&lt;br /&gt;
        &amp;quot;, Party leader: &amp;quot; + GetTag(oPC) + &amp;quot;, Autolevel: &amp;quot; + IntToString(nForceAutolevel) +&lt;br /&gt;
        &amp;quot;, Reset follower: &amp;quot; + IntToString(bResetFollower));&lt;br /&gt;
&lt;br /&gt;
    //cannot be used for plot followers&lt;br /&gt;
    if(_UT_GetIsPlotFollower(oFollower))&lt;br /&gt;
    {&lt;br /&gt;
        PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Follower IS plot follower, exiting.&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    //calling this code caused follower to be hired and to gain xp&lt;br /&gt;
    SetAutoLevelUp(oFollower, nForceAutolevel);       //0 - off, 1 - autolevel, 2 - force autolevel&lt;br /&gt;
    SetGroupId(oFollower, GetGroupId(oPC));           //not sure if needed cause player_core resets it&lt;br /&gt;
    SetLocalInt(oFollower, CREATURE_REWARD_FLAGS, 0); //to gain xp&lt;br /&gt;
    WR_SetFollowerState(oFollower, FOLLOWER_STATE_ACTIVE, TRUE, 0, bPreventLevelUp);&lt;br /&gt;
&lt;br /&gt;
    //Show the AOE flag when the PC is a mage and aquires a follower or the follower hired is a mage&lt;br /&gt;
    if(GetLocalInt(GetModule(), TUTORIAL_ENABLED) &amp;amp;&amp;amp; (GetCreatureCoreClass(oPC) == CLASS_WIZARD || GetCreatureCoreClass(oFollower) == CLASS_WIZARD))&lt;br /&gt;
    {&lt;br /&gt;
        WR_SetPlotFlag(PLT_TUT_FRIENDLY_AOE, TUT_FRIENDLY_AOE_1, TRUE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (bResetFollower)&lt;br /&gt;
    {&lt;br /&gt;
        PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Resetting follower.&amp;quot;);&lt;br /&gt;
        //calling this will re-initialize follower&lt;br /&gt;
        lop_ReHireChar(oFollower, nResetTo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//activates group of triggers by tag&lt;br /&gt;
void yad_ActivateTrigger(string sTriggerTag, int bActivate = TRUE)&lt;br /&gt;
{&lt;br /&gt;
    object [] arActivate = GetNearestObjectByTag(GetMainControlled(), sTriggerTag, OBJECT_TYPE_TRIGGER, 15);&lt;br /&gt;
    int nSize = GetArraySize(arActivate);&lt;br /&gt;
&lt;br /&gt;
    object oActivate;&lt;br /&gt;
    int nIndex;&lt;br /&gt;
&lt;br /&gt;
    for (nIndex = 0; nIndex &amp;lt; nSize; ++nIndex)&lt;br /&gt;
    {&lt;br /&gt;
        oActivate = arActivate[nIndex];&lt;br /&gt;
        WR_SetObjectActive(oActivate, bActivate);&lt;br /&gt;
        DisplayFloatyMessage(oActivate, &amp;quot;Hello trigger!&amp;quot;, FLOATY_MESSAGE,16777215,10.0);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Tutorials&amp;diff=19820</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Tutorials&amp;diff=19820"/>
				<updated>2017-10-17T08:37:19Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* External Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists links to step-by-step tutorials, both on this wiki and on external sites.&lt;br /&gt;
&lt;br /&gt;
==Introductory tutorials ==&lt;br /&gt;
&lt;br /&gt;
In the course of these tutorials we'll go through all the steps needed to create a basic adventure.&lt;br /&gt;
&lt;br /&gt;
{|align=right&lt;br /&gt;
|{{TutorialRef|&amp;lt;nowiki&amp;gt;Boxes like these contain links,&amp;lt;/nowiki&amp;gt;|&amp;lt;nowiki&amp;gt;to topics taking you to further information&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{sidebox|&lt;br /&gt;
*Boxes like this contain a checklist of important steps.&lt;br /&gt;
*They're intended as a reminder and as a navigational aid.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*[[Introductory tutorial]] - An overview of the toolset as a whole&lt;br /&gt;
*[[Module tutorial]] - how to create a module to work in.&lt;br /&gt;
&lt;br /&gt;
This set of tutorials forms a series, each building on or filling in omissions by the last:&lt;br /&gt;
*[[Area tutorial]]&lt;br /&gt;
*[[Placeable tutorial]]&lt;br /&gt;
*[[Item tutorial]]&lt;br /&gt;
*[[Creature tutorial]]&lt;br /&gt;
*[[Conversation tutorial]]&lt;br /&gt;
*[[Lighting Tutorial]]&lt;br /&gt;
&lt;br /&gt;
Once you've become familiar with the basics introduced on those tutorials you might have a better grounding for:&lt;br /&gt;
*[[Cutscene tutorial]]&lt;br /&gt;
*[[Map tutorial]] (which also introduces you to [[2DA]] editing)&lt;br /&gt;
*[[Level Editor Tutorial]]&lt;br /&gt;
*[[Scripting tutorial]]&lt;br /&gt;
**[[Useful Scripts]] &amp;lt;!-- for anyone not familar with scripts, this will be very helpful. However i extracted this from the Overview page which seemes inappropriate --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Various small Tutorials, in a unsorted manner. &lt;br /&gt;
*[[How-tos]]&lt;br /&gt;
*[[VFX Tutorial]]&lt;br /&gt;
&lt;br /&gt;
== Demo module ==&lt;br /&gt;
&lt;br /&gt;
The toolset currently ships with a simple demo module pre-loaded into its database.&lt;br /&gt;
&lt;br /&gt;
*[[Demo module]] - how to export and run the demo module.&lt;br /&gt;
&lt;br /&gt;
== Custom content tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Adding custom armor tutorial]]&lt;br /&gt;
* [[Adding custom level tutorial]]&lt;br /&gt;
* [[Adding a new spell tutorial]]&lt;br /&gt;
* [[Adding a new weapon type tutorial]]&lt;br /&gt;
* [[Adding a custom model to the toolset tutorial]]&lt;br /&gt;
* [[Adding custom heraldry to a shield tutorial]]&lt;br /&gt;
* [[Adding custom items to custom modules tutorial]]&lt;br /&gt;
* [[Adding custom shield tutorial]]&lt;br /&gt;
* [[Creating item with note in Codex]]&lt;br /&gt;
* [[Creating a custom placeable from a model tutorial]]&lt;br /&gt;
* [[Creating recolors of existing items tutorial]]&lt;br /&gt;
* [[Customisation of original Dragon age armor]]&lt;br /&gt;
* [[Extending GDAs tutorial]]&lt;br /&gt;
* [[Overriding and creating tints tutorial]]&lt;br /&gt;
* [[Reskinning an item tutorial]]&lt;br /&gt;
* [[Usable campaign items tutorial]]&lt;br /&gt;
* [[Using DLC areas in your mods tutorial]]&lt;br /&gt;
* [[UI Tutorial (draft)]]&lt;br /&gt;
* [[Playing custom Player Character]]&lt;br /&gt;
&lt;br /&gt;
== Character generation tutorials ==&lt;br /&gt;
*[[Backgrounds tutorial|Background/Origin Tutorial]]&lt;br /&gt;
*[[Add A New Class Tutorial]]&lt;br /&gt;
*[[High-Level Character Generation]]&lt;br /&gt;
&lt;br /&gt;
== Companion Tutorials ==&lt;br /&gt;
*[[Basic follower tutorial]]: covers the basics of adding a follower to party (which has space)&lt;br /&gt;
*[[Follower tutorial]]: a more comprehensive tutorial for creating followers (script heavy)&lt;br /&gt;
*[[Follower tutorial (alternative)]]: an alternative to the main follower tutorial &lt;br /&gt;
*[[User:Satans_karma|Follower tutorial (satans_karma)]]: an alternative to the main follower tutorial &lt;br /&gt;
*[[Compatible_Companion_Mod_Creation|Advanced follower tutorial]]: a comprehensive tutorial for creating followers with a focus on compatibility (very script heavy)&lt;br /&gt;
*[[Follower_guidelines]] (contains general guidelines and compatibility information)&lt;br /&gt;
&lt;br /&gt;
== Other Tutorials ==&lt;br /&gt;
*[[Adding a Location to the Single Player Campaign Tutorial]]&lt;br /&gt;
*[[Noob to pro]] (Step by step guide to making a new standalone campaign)&lt;br /&gt;
*[[Module Priority Tutorial]] How to set module. Priority for multiple mods with similar files, so they don't interfere&lt;br /&gt;
*[[Plot]] Information on configuring plot flags for journal and codex entries&lt;br /&gt;
&lt;br /&gt;
== External Tutorials ==&lt;br /&gt;
*[http://dragonagemodding.wordpress.com Beyond Ferelden] has many in-depth tutorials by jwvanderbeck.&lt;br /&gt;
*[http://www.youtube.com/watch?v=TwQNRBFLhrE Playable Area and Conversation] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=CaHldJcUTz8 Simple Conversation Cameras] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=QOQJ2heQto4 Cutscene and Trigger] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=szWKgj2ZuXo Custom Level and Room Building] video tutorial by [http://social.bioware.com/64020/ st4rdog].&lt;br /&gt;
*[http://www.youtube.com/watch?v=DKJ7F14n8o8 Downloading and Installing the Toolset] video tutorial by [http://social.bioware.com/74287/ DragonAge22].&lt;br /&gt;
*[http://www.youtube.com/watch?v=iMPBsulv9xI Creating a Room] video tutorial by [http://social.bioware.com/74287/ DragonAge22].&lt;br /&gt;
*[http://www.youtube.com/watch?v=g3kx2CaarHo How to Make an Interior Level with Lighting] video tutorial by [http://social.bioware.com/group/60/ Darkworld Development Team].&lt;br /&gt;
*[http://www.youtube.com/watch?v=O6TeZeE1Lc8 Making a Room] video tutorial by BigDrip681.&lt;br /&gt;
*[http://social.bioware.com/5339/blog/576/ Custom Player Items In Single Player] by [http://social.bioware.com/5339/ weriK].&lt;br /&gt;
*[http://social.bioware.com/5339/blog/651/ The Secret Behind Item Statistics] by [http://social.bioware.com/5339/ weriK].&lt;br /&gt;
*[http://social.bioware.com/project/923/ Guide for installing/uninstalling/updating Mods] Beginner Guide to get started with using Mods by [http://social.bioware.com/237411/ Alexspeed].&lt;br /&gt;
*[http://www.jezelf.co.uk/tutorials.htm Photoshop Map making tutorials] Credits to Jason Elford, brought to DAT wiki by [http://social.bioware.com/48156/ Arixsus]&lt;br /&gt;
*[http://social.bioware.com/project/527/ Video Tutorials by SilentCid] Multiple in-depth video tutorials of the DA Toolset&lt;br /&gt;
*[http://www.youtube.com/view_play_list?p=EF29DD1AACEBA92A Qkrch's Video Tutorials] Toolset tutorial complete series for the experienced builder (Spanish &amp;amp; English)&lt;br /&gt;
*[http://www.theengineeringguild.co.uk/da-new-campaign-location-tutorial World Editing and Area Creation] Tutorial by [http://social.bioware.com/profile/7848 giskard44] where he walks you through a module creation process for an single player addin.&lt;br /&gt;
*[http://social.bioware.com/203442/blog/1352/ Custom Item Materials] by [http://social.bioware.com/203442/ Chains-Gore].&lt;br /&gt;
*[http://bg2redux.student.utwente.nl/trac/wiki/TutorialLightmapping Lighting Tutorial with Troubleshooting section] (aimed at beginners)&lt;br /&gt;
*[https://youtu.be/_q4mmFMmIK8 How to make a dress with crinoline]&lt;br /&gt;
*[https://youtu.be/370D7Lul9tk Skinning tutorial]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
*[[Area layouts used in the single player module]]&lt;br /&gt;
*[[Compatibility]]&lt;br /&gt;
*[[Dragon Age 2]]&lt;br /&gt;
&lt;br /&gt;
{{Languages|Tutorials}}&lt;br /&gt;
[[Category:Tutorials| ]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19819</id>
		<title>Adding custom armor tutorial/ru</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19819"/>
				<updated>2017-10-15T08:57:00Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Dress with crinoline */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ходе этого туториала мы импортируем платье Кристины Веспуччи из Assassins Creed: Brotherhood в ДАО. Вернее из XNA Lara, потому что ничего другого я не нашел. Это платье я выбрал не случайно - в ходе его адаптации мы используем все те приемы, которые часто используются в этом процессе (&amp;quot;дырявая ткань&amp;quot; аля кружева, текстуры кложи, зависящие от кожи персонажа, многослойный материал и т.д.).Это будет всего-лишь реплейсер, заменитель. Заменять будем церковную робу - просто потому что ее легче всего достать (в прологе мага, например, или с Лелианы в Лотеринге). Ну чтож, приступим...&lt;br /&gt;
Инструменты, что нам понадобятся:&lt;br /&gt;
*3ds max (или бесплатная версия - gmax). 3ds max не старше 2011 года- скрипт по импорту не будет работать.&lt;br /&gt;
*Dragon Age Origins&lt;br /&gt;
*Dragon Age Toolset&lt;br /&gt;
*Adobe Photoshop 32 version only because Nvidia DDS Plugin work only with 32 program.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] (плагин для 3ds max)&lt;br /&gt;
*Вы можете использовать эту программу [http://www.nexusmods.com/dragonage/mods/214/? GDA Editor] для файлов GDA типа.&lt;br /&gt;
*Движок не сможет работать с моделью больше 45 000 полигонов (Faces) и 30 000 вершин (Vertices).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Сделите за тем, куда вы устанавливаете все программы- program files(x86) для 32 битных программ на 64 bit компьютерах. Скрипт экспорта и сама игра должны быть в одной папке program files.&lt;br /&gt;
&lt;br /&gt;
Установка скрипта Eshme Import/Export: Startup, YAGG и DAOTools добавить в C(диск):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
Настройка. Если вы все сделали правильно, то при первом запуске возникнет окно с настройками. &lt;br /&gt;
&lt;br /&gt;
В Game Path должно быть указано папка с игрой аля C:\Program Files (x86)\Dragon Age, в Export Path папка Override в документах аля C:\Program Files (x86)\Dragon Age\packages\core\override. Наличие установленного тулсета самой последней версии  ОБЯЗАТЕЛЬНО. Сам тулсет должен быть установлен в папку с игрой и после этого вы сможете начать работу в 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures preparation ==&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся четыре: диффузная карта (основная, видимая текстура), нормал карта (однотонная рельефная карта), спекуляр карта (она помогает настроить освещение конкретно под модель) и тинт карта (она говорит двужку где кожа, а где не изменная ткань). Так как исходная модель содержит несколько материалов, то и наборов текстур тоже несколько. Это значит, что например диффузных карт будет тоже несколько.&lt;br /&gt;
Сначала переведем их в формат .DDS с помощью фотошопа. Помните, что размер текстур ВСЕГДА должен быть кратным 4: 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192.&lt;br /&gt;
&lt;br /&gt;
Diffuse map:&lt;br /&gt;
Кожа обязательно должна быть перведена в бледно-серый цвет, чтобы максимально корректно отображать цвет кожи. Должно получиться примерно так:&lt;br /&gt;
 &lt;br /&gt;
[[File:Skin1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
В альфа канале (если его нету, то создаем его с названием Alpha 1) выделяем черным те области, которые будут &amp;quot;дырками&amp;quot;, белое так и останется не прозрачным. Получиться должно нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Normal map: &lt;br /&gt;
Нужно перенести текстуру в монотонно серый. Помимо этого, нужно еще изменить изображение альфа-канала на идентичный зеленому каналу. Должно получится нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Spectacular map:&lt;br /&gt;
Почти ничем не отличается от диффузной, только чуть более темней. Элементы с кожей в обязательном порядке нужно модифицировать. Цвет нужно изменить на темно-красный, почти черный. Саму область нужно подвергнуть обработке: image-&amp;gt; adjustments -&amp;gt;brightness/contrast значение выставлять примерно такие brightness -45, contrast 95. В итоге кожа должна стать примерно такой:&lt;br /&gt;
&lt;br /&gt;
[[File:Spectacularex.png|border]]&lt;br /&gt;
&lt;br /&gt;
* Note: В альфа канал спекуляр карты нужно просто скопировать синий канал. '''Делать это нужно уже после того, как разберетесь с участками кожи.'''Чем больше белого на текстуре _s тем больше и интенсивней будет блеск.&lt;br /&gt;
&lt;br /&gt;
Tint map:&lt;br /&gt;
* '''Note: Не нужна вам если на вашей броне нет участков кожи'''&lt;br /&gt;
Самая простая текстура - работать будет только в альфа канале. Всю текстуру полностью залейте черным цветом. В альфа канале нужно будет сделать примерно тоже самое, что мы уже проделали с альфа каналом диффузной карты, только на этот раз черным будут зоны, которые будут менять тон в соответствии с кожей персонажа, а белые оставаться не изменными. Эта тесктура полностью залита черным потому, что она полностью покрывает кожу и участки, а значит и выделываться здесь смысла нет. То есть да - конкретно в нашем случае должна получиться полностью черная текстура - все четыре канала залиты черным.&lt;br /&gt;
&lt;br /&gt;
== Connecting textures ==&lt;br /&gt;
Cоединение текстур. Как я уже упомянал, платье Кристины Веспуччи содержит несколько материалов. Движок ДАО может поддерживать только один материал, а значит нам придется все текстуры объединить.&lt;br /&gt;
Самое главное в том, что один раз определившись порядком текстур, нужно придерживаться его постоянно. В общем, нам нужно выстроить примерно такую конструкцию:&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
'''*Note: Запомните положение текстур, оно вам понадобится при объединении материалов в 3ds Max.'''Тоже самое и для остальных карт (нормали, спекуляр и тинт). Альфа каналы выстраиваем так же. Размер текстур должен быть кратным 4.&lt;br /&gt;
&lt;br /&gt;
== Save textures ==&lt;br /&gt;
&lt;br /&gt;
Текстуры нужно сохранять с такими настройками: &lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Normal map:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Все, на этом в фотошопе закончено. Можно его закрывать. Переименуйте текстуры в hf_rob_chaz_0n.dds (normal-текстура), hf_rob_chaz_0d (diffuse-текстура), hf_rob_chaz_0s (спекуляр) и hf_rob_chaz_0t (тинт карта). Сами текстуры уже можно переместить в папку [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
&lt;br /&gt;
== Names ==&lt;br /&gt;
Очень важно для GDA. &lt;br /&gt;
Текстуры надо называть так: [принадлежность полу-расе]_[тип брони\одежды]_[уникальный индекс из 4 букв]_0[тип текстуры].&lt;br /&gt;
Принадлежность полу расе обозначается так:&lt;br /&gt;
*hf- жен. человек&lt;br /&gt;
*hm- муж. человек&lt;br /&gt;
*ef- жен. эльф&lt;br /&gt;
*em- муж. эльф&lt;br /&gt;
*df- жен. гном&lt;br /&gt;
*dm- муж. гном&lt;br /&gt;
*qm- кунари-мужик&lt;br /&gt;
Броня:&lt;br /&gt;
*arm - броня&lt;br /&gt;
*rob - роба (мага, церковника)&lt;br /&gt;
*cth - одежда (дворянина, свадебная)&lt;br /&gt;
Helmets:&lt;br /&gt;
*hlh - for mages.&lt;br /&gt;
*hlf - massive ones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Уникальный индекс можете выбрать любой. Главное помните - не больше 4 букв и не занятый другой вещью.'''&lt;br /&gt;
&lt;br /&gt;
Типов текстур 5:&lt;br /&gt;
*d - диффузная (Duffise)&lt;br /&gt;
*n - нормаль (Normal)&lt;br /&gt;
*s - спекуляр (Spectacular)&lt;br /&gt;
*t - тинт (Tint)&lt;br /&gt;
*e - эммиссив (Emissive) Нужна для свечения аля скай-фай броня. В дао почти не используется)&lt;br /&gt;
В итоге должно получиться нечто вроде такого: hf_rob_xmpl_0d или em_arm_exmp_0n. &lt;br /&gt;
'''*NOTE: Сам материал (название материала в максе, потом это будет MAO файл) именуем также, только без типа текстуры. Например: hf_rob_xmpl или em_arm_exmp. Модель именуется так-же, только с цифрой детализации в конце: hf_rob_xmpl_0 или em_arm_exmp_0'''&lt;br /&gt;
&lt;br /&gt;
== 3D MAX ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Если ваша броня выглядит слишком &amp;quot;грубой&amp;quot;, то это можно исправить ПКМ-&amp;gt; Convert to Edit Poly -&amp;gt; Режим Vertex на панели справа -&amp;gt; press button Weld (Vertexes) на панели справа. Можно там же использовать и Smooth, но будьте осторожны- это добавит новые полигоны ваша модель может не подойти для движка.'''&lt;br /&gt;
&lt;br /&gt;
В ходе адаптации модели нам понадобится максимально похожий образец из оригинальной игры. В моем случае я выбрал церковную робу (hf_rob_chaa) – этакий универсальный образец, который подходит для большинства случаев. В Toolset’е откроем архивы modelhierarchies.erf materialobjects.erf modelmeshdata.erf (найти их можно по даресу [имя_диска_с_игрой]: \Dragon Age\packages\core\data). Так-же откроем архив texturepack.erf находящийся по адресу [имя_диска_с_игрой]:\Dragon Age\packages\core\textures\high. В этих архивах находим файлы&lt;br /&gt;
hf_rob_chaa_0.mmh, hf_rob_chaa_0.phy (modelhierarchies.erf)&lt;br /&gt;
hf_rob_chaa_0.msh (modelmeshdata.erf)&lt;br /&gt;
pf_rob_chaa.mao (materialobjects.erf)&lt;br /&gt;
pf_rob_chaa_0d.dds, pf_rob_chaa_0n.dds, pf_rob_chaa_0s.dds, pf_rob_chaa_0t.dds (texturepack.erf)&lt;br /&gt;
и распаковываем в отдельную папку. Всего на выходе должно получится 8 файлов.&lt;br /&gt;
&lt;br /&gt;
А теперь перейдем в 3ds max. Прежде, чем приступить непосредственно к конвентированию, настроим плагин для 3ds max. Мне гораздо удобнее запускать сразу скрипты, чем захламлять разными кнопками рабочее пространство редактора. Для запуска конфигуратора запустим скрипт (Max Script-&amp;gt;Run Script) DAOToolsSetup находящийся по адресу C:\Program Files\Autodesk\3dsMax8\Scripts\DAOTools.&lt;br /&gt;
&lt;br /&gt;
Итак, приступим, к настройке. В строке Game Path указываем адрес к папке с игрой. В Export Path указываем, куда будут сохранятся экспортированные файлы. Т.к. наша модель будет заменять уже имеющуюся, то укажем там адрес [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ Ползунок World Scale ставим на значение 100. Дело в том, что в своем «естественном» виде, модели ДА очень маленькие. Для комфортной работы с ними нужно увеличить их в 100 (сто) раз. Эта функция как раз создана для того, чтобы на время работы увеличивать модель в удобный размер, а экспортируя обратно возвращая к естественным размерам. Все остальное оставляем нетронутым и нажимаем ОК. Конфигуратор перед закрытием проинформирует нас о возможности в любой момент изменить настройки, не пугайтесь выскочившего окна.&lt;br /&gt;
&lt;br /&gt;
И вот наконец теперь можно заняться непосредственно конвертированием. В окне редактора у нас должна уже быть открыта сама модель. Следующее, что нам нужно сделать, это загрузить оригинальную модель из ДАО. Для этого запускаем скрипт DAOImport. В пункте File секции Model Import указываем месторасположение недавно вытащенного нами .mmh файла (hf_rob_chaa_0.mmh). Нажимаем на кнопку Import, специальное окно известит нас о готовности к импорту, жмем ОК и ждем 5-30 секунд (в зависимости от мощности компьютера) пока загрузится модель.&lt;br /&gt;
&lt;br /&gt;
Для начала скроем все, что нам в данный момент не понадобится. Откроем Schematic View (Graph Editors-&amp;gt; New Schematic View) &lt;br /&gt;
&lt;br /&gt;
Здесь можно увидеть две большие древовидные структуры – это обе наши модели с их иерархией. Полностью выделим структуру оригинальной модели (легко определить по наличию в ней зеленых элементов). Сворачиваем Schematic View. В основном рабочем окне можно увидеть, что выделена оригинальная игровая модель и все ее элементы &lt;br /&gt;
&lt;br /&gt;
Теперь снимем выделение с самой робы, так чтобы выделенными остались лишь второстепенные элементы. Скроем их, чтобы не мешались, они нам все-равно не понадобятся. Для этого нажмем по пустому пространству рабочей области правой кнопкой мыши-&amp;gt;hide selection. Теперь осталось только зафиксировать оригинальную модель. Для этого выделяем ее и правой кнопкой мыши-&amp;gt;properties.&lt;br /&gt;
Поставьте напротив опции Freeze секции interactivity, уберите напротив опции Show Frozen in Gray секции display Properties соответственно. Все, теперь оригинальная модель зафиксирована и защищена от случайных манипуляций.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подогнать модель платья Кристины под габариты игровой робы. Желательно сделать это как можно точнее. Для трансформации модели лучше всего воздействовать на ее кости, так гораздо удобнее. Масштабируем, поворачиваем и двигаем кости так, чтобы модель ровно легла в очертания оригинальной робы. Разводим руки, сводим ноги – процесс нужно делать на «глазок».&lt;br /&gt;
&lt;br /&gt;
== Working with materials ==&lt;br /&gt;
*NOTE: Работать с материалами нужно до риггинга. Иначе будут проблемы.&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Важное отступление - если ваша модель полностью покрывается одной текстурой, то ничего из нижеописанного вам проделывать не нужно.&lt;br /&gt;
Сейчас нам нужно объединить несколько материалов в один. Процесс не тривиальный. Итак, когда вы откроете редактор координат, то увидите вот такую картину:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Зеленые линии - это координаты модели на текстуре. Многие игровые движки используют все пространство редактора, но не ДАО. Наша игра не видит ничего за границами выделенного квадрата. Наша задача - передвинуть все координаты во внутрь этого квадрата. Во вкладке All ID's можно выбирать отдельные материалы и двигать их. Наложите текстуру, которую вы создали в фотошопе и согласно ее контурам отмасштабируте и перенесите ее на соответствующее место. Тоже самое нужно бьудет проделать и со всеми сетами материалов, чтобы в конце-концов получилось что-то вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
После этого можно закрывать редактор координат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Continue working with materials ==&lt;br /&gt;
&lt;br /&gt;
На верхней панели инструментов найдем кнопку редактора метериалов (четыре разноцветных шара) &lt;br /&gt;
Далее нажимаем Get Material и выбираем из списка Dragon Age Material (если плагин установлен правильно, то он в списке будет) &lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
&lt;br /&gt;
В Material Type указываем Character, в Render Semantics – [Armor w / Skin Tint][Alpha Blending][No Emissive]. Разворачиваем список Texture Maps и назначаем соответствующие текстуры. Далее Assign Material to Selection (платье должно быть выделенным). Если так хочется увидеть текстуру в редакторе, то жмем Show Map in Viewport. Осталось только дать нашему материалу нормальное имя. В соответствующем поле введем pf_rob_chaz_0. Вот и все.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Rigging ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Как только наша модель полностью ляжет в очертания оригинальной робы, можно приступать к следующей фазе &lt;br /&gt;
Выделим нашу модель, правой кнопкой мыши по пустому месту-&amp;gt;Convert To-&amp;gt; Convert To Editable Mesh.&lt;br /&gt;
Теперь полностью выделяем все объекты, снимаем выделение с самой модели платья Кристины (выделеными должны остаться все объекты КРОМЕ платья Кристины) и удаляем. Должны остаться только церковная роба и платье Кристины. Далее правой кнопкой мыши по пустому месту-&amp;gt;Unfreeze All. Это разморозит оригинальную робу, сделав ее доступной для редактирования. Затем в списке ее модификаторов выделим Skin и Edit Normals (с зажатым CTRL). Правой кнопкой мыши по ним-&amp;gt;Cut. Из списка модификаторов они должны исчезнуть. Далее правой кнопкой мыши по пустому месту рабочего пространства-&amp;gt;Convert To-&amp;gt;Convert To Editable Mesh. Это низведет оригинальную робу в тоже состояние, в котором сейчас пребывает и платье Кристины.&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем в режим редактирования полигонов &lt;br /&gt;
&lt;br /&gt;
[[File:Polygon.png|border]]&lt;br /&gt;
 &lt;br /&gt;
Нажмите CTL+ A Вся оригинальная роба должна окраситься в красный цвет выделения. Далее нужно снять выделение с одного-единственного полигона (делается с зажатой клавишей ALT). Какого именно – неважно, главное чтобы он был на виду и до него было просто добраться. Я выбрал один у самых ног. Все, что теперь нужно сделать – нажать кнопку Delete. Это удалит всю модель, кроме одного оставленного нами полигона. Теперь нам нужно прирастить к этому полигону платье Кристины. Для этого выберем на панели инструментов справа кнопку Attach  и нажмем мышью на скафандр. Появится окно, выбрать опцию Match Material to Material IDs. Жмем ОК. Теперь нужно убрать последний полигон оригинальной робы. Вновь переходим в режим редактирования полигонов (предварительно «отжав» кнопку attach), находим когда-то оставленный нами полигон и удаляем его. Все, теперь уже не осталось ничего, что напоминало-бы нам о церковной робе.&lt;br /&gt;
&lt;br /&gt;
Вы должны закончить со всеми правками модели до того, как добавите модификатор Unwrap UVW. Если ваша модель выглядит грубой, то необходимо  исправить:&lt;br /&gt;
ПКМ -&amp;gt; converto to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld -&amp;gt; Convert to editable Mesh&lt;br /&gt;
&lt;br /&gt;
'''Note:'''Закончите все правки модели и материалов до следующего шага - после него все изменения не отобразятся на конечном результате и придется переделывать. &lt;br /&gt;
&lt;br /&gt;
В списке модификаторов нашей модели найдем Unwrap UVW и добавим его к нашей модели. Модель должна окраситься ярко зелеными линиями.&lt;br /&gt;
&lt;br /&gt;
Далее правой кнопкой мыши по списку модификаторов-&amp;gt;Paste. Список модификаторов должен стать таким (сверху-вниз: Skin, Edit Normals, Unwrap UVW)&lt;br /&gt;
&lt;br /&gt;
С самой моделью мы наконец закончили.&lt;br /&gt;
&lt;br /&gt;
== Dress with crinoline ==&lt;br /&gt;
[[File:Crinoline_dressDAO.jpg|border]]&lt;br /&gt;
*[https://youtu.be/_q4mmFMmIK8 Как сделать платье с кринолином]&lt;br /&gt;
&lt;br /&gt;
== Export ==&lt;br /&gt;
&lt;br /&gt;
Для этого запускаем скрипт DAOModelExport. Нам предстанет вот так вот такое окно:&lt;br /&gt;
&lt;br /&gt;
[[File:Export.png|border]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Между Name и .MMH вписать hf_rob_chaa_0. Между Name и .MSH вписать тоже самое (если этого не сделалось автоматически). Отметить опцию Create MAO Material File. Все, теперь жмем Export. По окончании процесса экспорта в папке [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ должны появится пять новых файлов&lt;br /&gt;
hf_rob_chaa_0.phy&lt;br /&gt;
hf_rob_chaa_0.msh&lt;br /&gt;
hf_rob_chaa_0.mmh&lt;br /&gt;
hf_rob_chaa_0.met&lt;br /&gt;
pf_rob_chaz_0.mao&lt;br /&gt;
Там-же уже должны находится обе текстуры. Ну, вот собственно и все. Модель готова, можно запускать игру и смотреть результат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Addding custom shield ==&lt;br /&gt;
&lt;br /&gt;
Процесс тот же самый с разницей, что щиту не нужен rigging.&lt;br /&gt;
  &lt;br /&gt;
1) Импортируйте любой щит из игры. В отличие от брони тут не нужно следить за размером - ЛЮБОЙ щит подойдет.&lt;br /&gt;
&lt;br /&gt;
2) Импортируйте ваш щит в ту же сцену и погдгоните его размер к тому, что из игры.&lt;br /&gt;
&lt;br /&gt;
3) Сделайте из ващего нового щита ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. Collapse any active modifiers on the &amp;quot;new&amp;quot; item. Then add a new &amp;quot;unwrap UVW&amp;quot; modiefier to it, and double click it to open the UVW window. then drag and select everything you see there, and DRAG IT ANYWHERE OUTSIDE THE OUTLINED BOX IN THE CENTER. This will make life easier for you in step 6.&lt;br /&gt;
&lt;br /&gt;
4) Выберите щит из игры и выберете все модификаторы исключая &amp;quot;unwrap UVW&amp;quot;. ПКМ -&amp;gt;&amp;quot;cut&amp;quot;, а не удалить, потому что м ыбудем их использовать. Далее ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
5) Теперь &amp;quot;attach&amp;quot; щит из ДАО к вашему новому щиту. &lt;br /&gt;
&lt;br /&gt;
6) Добавть новый &amp;quot;unwrap uvw&amp;quot; к этому mesh. Проверьте все ли модификаторы на месте - press the &amp;quot;+&amp;quot; слева. Выберите &amp;quot;face&amp;quot;, и выберете все, что внутри the outlined box в середине. ПКМ &amp;quot;unwrap UVW&amp;quot; и выберете &amp;quot;collapse to&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
7) Потом нажмите &amp;quot;+&amp;quot; слева от слов &amp;quot;editable mesh&amp;quot;. Выберте &amp;quot;element&amp;quot; и удалите. Вставьте все модификаторы, которые мы вырезали на шаге 4.&lt;br /&gt;
&lt;br /&gt;
8) Добавьте текстуры и экспортируйте.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Customisation of original Dragon age armor]]&lt;br /&gt;
*[[Adding custom shield tutorial]]&lt;br /&gt;
*[[Adding custom level tutorial]] - Add your own level.&lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/423834-the-witcher-1-armors-in-da-origins/page-2#entry3544131 How to add new armor to DAO on English] &lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/1122450-loincloth-fashion/page-56#entry16909714 How to fix GDA conflict]&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/3974/? Item Variation ID spreadsheet modification]&lt;br /&gt;
*[https://youtu.be/370D7Lul9tk Skinning tutorial]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=File:Crinoline_dressDAO.jpg&amp;diff=19818</id>
		<title>File:Crinoline dressDAO.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=File:Crinoline_dressDAO.jpg&amp;diff=19818"/>
				<updated>2017-10-15T08:56:34Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19817</id>
		<title>Adding custom armor tutorial/ru</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19817"/>
				<updated>2017-10-15T08:52:27Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Useful links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ходе этого туториала мы импортируем платье Кристины Веспуччи из Assassins Creed: Brotherhood в ДАО. Вернее из XNA Lara, потому что ничего другого я не нашел. Это платье я выбрал не случайно - в ходе его адаптации мы используем все те приемы, которые часто используются в этом процессе (&amp;quot;дырявая ткань&amp;quot; аля кружева, текстуры кложи, зависящие от кожи персонажа, многослойный материал и т.д.).Это будет всего-лишь реплейсер, заменитель. Заменять будем церковную робу - просто потому что ее легче всего достать (в прологе мага, например, или с Лелианы в Лотеринге). Ну чтож, приступим...&lt;br /&gt;
Инструменты, что нам понадобятся:&lt;br /&gt;
*3ds max (или бесплатная версия - gmax). 3ds max не старше 2011 года- скрипт по импорту не будет работать.&lt;br /&gt;
*Dragon Age Origins&lt;br /&gt;
*Dragon Age Toolset&lt;br /&gt;
*Adobe Photoshop 32 version only because Nvidia DDS Plugin work only with 32 program.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] (плагин для 3ds max)&lt;br /&gt;
*Вы можете использовать эту программу [http://www.nexusmods.com/dragonage/mods/214/? GDA Editor] для файлов GDA типа.&lt;br /&gt;
*Движок не сможет работать с моделью больше 45 000 полигонов (Faces) и 30 000 вершин (Vertices).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Сделите за тем, куда вы устанавливаете все программы- program files(x86) для 32 битных программ на 64 bit компьютерах. Скрипт экспорта и сама игра должны быть в одной папке program files.&lt;br /&gt;
&lt;br /&gt;
Установка скрипта Eshme Import/Export: Startup, YAGG и DAOTools добавить в C(диск):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
Настройка. Если вы все сделали правильно, то при первом запуске возникнет окно с настройками. &lt;br /&gt;
&lt;br /&gt;
В Game Path должно быть указано папка с игрой аля C:\Program Files (x86)\Dragon Age, в Export Path папка Override в документах аля C:\Program Files (x86)\Dragon Age\packages\core\override. Наличие установленного тулсета самой последней версии  ОБЯЗАТЕЛЬНО. Сам тулсет должен быть установлен в папку с игрой и после этого вы сможете начать работу в 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures preparation ==&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся четыре: диффузная карта (основная, видимая текстура), нормал карта (однотонная рельефная карта), спекуляр карта (она помогает настроить освещение конкретно под модель) и тинт карта (она говорит двужку где кожа, а где не изменная ткань). Так как исходная модель содержит несколько материалов, то и наборов текстур тоже несколько. Это значит, что например диффузных карт будет тоже несколько.&lt;br /&gt;
Сначала переведем их в формат .DDS с помощью фотошопа. Помните, что размер текстур ВСЕГДА должен быть кратным 4: 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192.&lt;br /&gt;
&lt;br /&gt;
Diffuse map:&lt;br /&gt;
Кожа обязательно должна быть перведена в бледно-серый цвет, чтобы максимально корректно отображать цвет кожи. Должно получиться примерно так:&lt;br /&gt;
 &lt;br /&gt;
[[File:Skin1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
В альфа канале (если его нету, то создаем его с названием Alpha 1) выделяем черным те области, которые будут &amp;quot;дырками&amp;quot;, белое так и останется не прозрачным. Получиться должно нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Normal map: &lt;br /&gt;
Нужно перенести текстуру в монотонно серый. Помимо этого, нужно еще изменить изображение альфа-канала на идентичный зеленому каналу. Должно получится нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Spectacular map:&lt;br /&gt;
Почти ничем не отличается от диффузной, только чуть более темней. Элементы с кожей в обязательном порядке нужно модифицировать. Цвет нужно изменить на темно-красный, почти черный. Саму область нужно подвергнуть обработке: image-&amp;gt; adjustments -&amp;gt;brightness/contrast значение выставлять примерно такие brightness -45, contrast 95. В итоге кожа должна стать примерно такой:&lt;br /&gt;
&lt;br /&gt;
[[File:Spectacularex.png|border]]&lt;br /&gt;
&lt;br /&gt;
* Note: В альфа канал спекуляр карты нужно просто скопировать синий канал. '''Делать это нужно уже после того, как разберетесь с участками кожи.'''Чем больше белого на текстуре _s тем больше и интенсивней будет блеск.&lt;br /&gt;
&lt;br /&gt;
Tint map:&lt;br /&gt;
* '''Note: Не нужна вам если на вашей броне нет участков кожи'''&lt;br /&gt;
Самая простая текстура - работать будет только в альфа канале. Всю текстуру полностью залейте черным цветом. В альфа канале нужно будет сделать примерно тоже самое, что мы уже проделали с альфа каналом диффузной карты, только на этот раз черным будут зоны, которые будут менять тон в соответствии с кожей персонажа, а белые оставаться не изменными. Эта тесктура полностью залита черным потому, что она полностью покрывает кожу и участки, а значит и выделываться здесь смысла нет. То есть да - конкретно в нашем случае должна получиться полностью черная текстура - все четыре канала залиты черным.&lt;br /&gt;
&lt;br /&gt;
== Connecting textures ==&lt;br /&gt;
Cоединение текстур. Как я уже упомянал, платье Кристины Веспуччи содержит несколько материалов. Движок ДАО может поддерживать только один материал, а значит нам придется все текстуры объединить.&lt;br /&gt;
Самое главное в том, что один раз определившись порядком текстур, нужно придерживаться его постоянно. В общем, нам нужно выстроить примерно такую конструкцию:&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
'''*Note: Запомните положение текстур, оно вам понадобится при объединении материалов в 3ds Max.'''Тоже самое и для остальных карт (нормали, спекуляр и тинт). Альфа каналы выстраиваем так же. Размер текстур должен быть кратным 4.&lt;br /&gt;
&lt;br /&gt;
== Save textures ==&lt;br /&gt;
&lt;br /&gt;
Текстуры нужно сохранять с такими настройками: &lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Normal map:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Все, на этом в фотошопе закончено. Можно его закрывать. Переименуйте текстуры в hf_rob_chaz_0n.dds (normal-текстура), hf_rob_chaz_0d (diffuse-текстура), hf_rob_chaz_0s (спекуляр) и hf_rob_chaz_0t (тинт карта). Сами текстуры уже можно переместить в папку [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
&lt;br /&gt;
== Names ==&lt;br /&gt;
Очень важно для GDA. &lt;br /&gt;
Текстуры надо называть так: [принадлежность полу-расе]_[тип брони\одежды]_[уникальный индекс из 4 букв]_0[тип текстуры].&lt;br /&gt;
Принадлежность полу расе обозначается так:&lt;br /&gt;
*hf- жен. человек&lt;br /&gt;
*hm- муж. человек&lt;br /&gt;
*ef- жен. эльф&lt;br /&gt;
*em- муж. эльф&lt;br /&gt;
*df- жен. гном&lt;br /&gt;
*dm- муж. гном&lt;br /&gt;
*qm- кунари-мужик&lt;br /&gt;
Броня:&lt;br /&gt;
*arm - броня&lt;br /&gt;
*rob - роба (мага, церковника)&lt;br /&gt;
*cth - одежда (дворянина, свадебная)&lt;br /&gt;
Helmets:&lt;br /&gt;
*hlh - for mages.&lt;br /&gt;
*hlf - massive ones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Уникальный индекс можете выбрать любой. Главное помните - не больше 4 букв и не занятый другой вещью.'''&lt;br /&gt;
&lt;br /&gt;
Типов текстур 5:&lt;br /&gt;
*d - диффузная (Duffise)&lt;br /&gt;
*n - нормаль (Normal)&lt;br /&gt;
*s - спекуляр (Spectacular)&lt;br /&gt;
*t - тинт (Tint)&lt;br /&gt;
*e - эммиссив (Emissive) Нужна для свечения аля скай-фай броня. В дао почти не используется)&lt;br /&gt;
В итоге должно получиться нечто вроде такого: hf_rob_xmpl_0d или em_arm_exmp_0n. &lt;br /&gt;
'''*NOTE: Сам материал (название материала в максе, потом это будет MAO файл) именуем также, только без типа текстуры. Например: hf_rob_xmpl или em_arm_exmp. Модель именуется так-же, только с цифрой детализации в конце: hf_rob_xmpl_0 или em_arm_exmp_0'''&lt;br /&gt;
&lt;br /&gt;
== 3D MAX ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Если ваша броня выглядит слишком &amp;quot;грубой&amp;quot;, то это можно исправить ПКМ-&amp;gt; Convert to Edit Poly -&amp;gt; Режим Vertex на панели справа -&amp;gt; press button Weld (Vertexes) на панели справа. Можно там же использовать и Smooth, но будьте осторожны- это добавит новые полигоны ваша модель может не подойти для движка.'''&lt;br /&gt;
&lt;br /&gt;
В ходе адаптации модели нам понадобится максимально похожий образец из оригинальной игры. В моем случае я выбрал церковную робу (hf_rob_chaa) – этакий универсальный образец, который подходит для большинства случаев. В Toolset’е откроем архивы modelhierarchies.erf materialobjects.erf modelmeshdata.erf (найти их можно по даресу [имя_диска_с_игрой]: \Dragon Age\packages\core\data). Так-же откроем архив texturepack.erf находящийся по адресу [имя_диска_с_игрой]:\Dragon Age\packages\core\textures\high. В этих архивах находим файлы&lt;br /&gt;
hf_rob_chaa_0.mmh, hf_rob_chaa_0.phy (modelhierarchies.erf)&lt;br /&gt;
hf_rob_chaa_0.msh (modelmeshdata.erf)&lt;br /&gt;
pf_rob_chaa.mao (materialobjects.erf)&lt;br /&gt;
pf_rob_chaa_0d.dds, pf_rob_chaa_0n.dds, pf_rob_chaa_0s.dds, pf_rob_chaa_0t.dds (texturepack.erf)&lt;br /&gt;
и распаковываем в отдельную папку. Всего на выходе должно получится 8 файлов.&lt;br /&gt;
&lt;br /&gt;
А теперь перейдем в 3ds max. Прежде, чем приступить непосредственно к конвентированию, настроим плагин для 3ds max. Мне гораздо удобнее запускать сразу скрипты, чем захламлять разными кнопками рабочее пространство редактора. Для запуска конфигуратора запустим скрипт (Max Script-&amp;gt;Run Script) DAOToolsSetup находящийся по адресу C:\Program Files\Autodesk\3dsMax8\Scripts\DAOTools.&lt;br /&gt;
&lt;br /&gt;
Итак, приступим, к настройке. В строке Game Path указываем адрес к папке с игрой. В Export Path указываем, куда будут сохранятся экспортированные файлы. Т.к. наша модель будет заменять уже имеющуюся, то укажем там адрес [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ Ползунок World Scale ставим на значение 100. Дело в том, что в своем «естественном» виде, модели ДА очень маленькие. Для комфортной работы с ними нужно увеличить их в 100 (сто) раз. Эта функция как раз создана для того, чтобы на время работы увеличивать модель в удобный размер, а экспортируя обратно возвращая к естественным размерам. Все остальное оставляем нетронутым и нажимаем ОК. Конфигуратор перед закрытием проинформирует нас о возможности в любой момент изменить настройки, не пугайтесь выскочившего окна.&lt;br /&gt;
&lt;br /&gt;
И вот наконец теперь можно заняться непосредственно конвертированием. В окне редактора у нас должна уже быть открыта сама модель. Следующее, что нам нужно сделать, это загрузить оригинальную модель из ДАО. Для этого запускаем скрипт DAOImport. В пункте File секции Model Import указываем месторасположение недавно вытащенного нами .mmh файла (hf_rob_chaa_0.mmh). Нажимаем на кнопку Import, специальное окно известит нас о готовности к импорту, жмем ОК и ждем 5-30 секунд (в зависимости от мощности компьютера) пока загрузится модель.&lt;br /&gt;
&lt;br /&gt;
Для начала скроем все, что нам в данный момент не понадобится. Откроем Schematic View (Graph Editors-&amp;gt; New Schematic View) &lt;br /&gt;
&lt;br /&gt;
Здесь можно увидеть две большие древовидные структуры – это обе наши модели с их иерархией. Полностью выделим структуру оригинальной модели (легко определить по наличию в ней зеленых элементов). Сворачиваем Schematic View. В основном рабочем окне можно увидеть, что выделена оригинальная игровая модель и все ее элементы &lt;br /&gt;
&lt;br /&gt;
Теперь снимем выделение с самой робы, так чтобы выделенными остались лишь второстепенные элементы. Скроем их, чтобы не мешались, они нам все-равно не понадобятся. Для этого нажмем по пустому пространству рабочей области правой кнопкой мыши-&amp;gt;hide selection. Теперь осталось только зафиксировать оригинальную модель. Для этого выделяем ее и правой кнопкой мыши-&amp;gt;properties.&lt;br /&gt;
Поставьте напротив опции Freeze секции interactivity, уберите напротив опции Show Frozen in Gray секции display Properties соответственно. Все, теперь оригинальная модель зафиксирована и защищена от случайных манипуляций.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подогнать модель платья Кристины под габариты игровой робы. Желательно сделать это как можно точнее. Для трансформации модели лучше всего воздействовать на ее кости, так гораздо удобнее. Масштабируем, поворачиваем и двигаем кости так, чтобы модель ровно легла в очертания оригинальной робы. Разводим руки, сводим ноги – процесс нужно делать на «глазок».&lt;br /&gt;
&lt;br /&gt;
== Working with materials ==&lt;br /&gt;
*NOTE: Работать с материалами нужно до риггинга. Иначе будут проблемы.&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Важное отступление - если ваша модель полностью покрывается одной текстурой, то ничего из нижеописанного вам проделывать не нужно.&lt;br /&gt;
Сейчас нам нужно объединить несколько материалов в один. Процесс не тривиальный. Итак, когда вы откроете редактор координат, то увидите вот такую картину:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Зеленые линии - это координаты модели на текстуре. Многие игровые движки используют все пространство редактора, но не ДАО. Наша игра не видит ничего за границами выделенного квадрата. Наша задача - передвинуть все координаты во внутрь этого квадрата. Во вкладке All ID's можно выбирать отдельные материалы и двигать их. Наложите текстуру, которую вы создали в фотошопе и согласно ее контурам отмасштабируте и перенесите ее на соответствующее место. Тоже самое нужно бьудет проделать и со всеми сетами материалов, чтобы в конце-концов получилось что-то вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
После этого можно закрывать редактор координат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Continue working with materials ==&lt;br /&gt;
&lt;br /&gt;
На верхней панели инструментов найдем кнопку редактора метериалов (четыре разноцветных шара) &lt;br /&gt;
Далее нажимаем Get Material и выбираем из списка Dragon Age Material (если плагин установлен правильно, то он в списке будет) &lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
&lt;br /&gt;
В Material Type указываем Character, в Render Semantics – [Armor w / Skin Tint][Alpha Blending][No Emissive]. Разворачиваем список Texture Maps и назначаем соответствующие текстуры. Далее Assign Material to Selection (платье должно быть выделенным). Если так хочется увидеть текстуру в редакторе, то жмем Show Map in Viewport. Осталось только дать нашему материалу нормальное имя. В соответствующем поле введем pf_rob_chaz_0. Вот и все.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Rigging ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Как только наша модель полностью ляжет в очертания оригинальной робы, можно приступать к следующей фазе &lt;br /&gt;
Выделим нашу модель, правой кнопкой мыши по пустому месту-&amp;gt;Convert To-&amp;gt; Convert To Editable Mesh.&lt;br /&gt;
Теперь полностью выделяем все объекты, снимаем выделение с самой модели платья Кристины (выделеными должны остаться все объекты КРОМЕ платья Кристины) и удаляем. Должны остаться только церковная роба и платье Кристины. Далее правой кнопкой мыши по пустому месту-&amp;gt;Unfreeze All. Это разморозит оригинальную робу, сделав ее доступной для редактирования. Затем в списке ее модификаторов выделим Skin и Edit Normals (с зажатым CTRL). Правой кнопкой мыши по ним-&amp;gt;Cut. Из списка модификаторов они должны исчезнуть. Далее правой кнопкой мыши по пустому месту рабочего пространства-&amp;gt;Convert To-&amp;gt;Convert To Editable Mesh. Это низведет оригинальную робу в тоже состояние, в котором сейчас пребывает и платье Кристины.&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем в режим редактирования полигонов &lt;br /&gt;
&lt;br /&gt;
[[File:Polygon.png|border]]&lt;br /&gt;
 &lt;br /&gt;
Нажмите CTL+ A Вся оригинальная роба должна окраситься в красный цвет выделения. Далее нужно снять выделение с одного-единственного полигона (делается с зажатой клавишей ALT). Какого именно – неважно, главное чтобы он был на виду и до него было просто добраться. Я выбрал один у самых ног. Все, что теперь нужно сделать – нажать кнопку Delete. Это удалит всю модель, кроме одного оставленного нами полигона. Теперь нам нужно прирастить к этому полигону платье Кристины. Для этого выберем на панели инструментов справа кнопку Attach  и нажмем мышью на скафандр. Появится окно, выбрать опцию Match Material to Material IDs. Жмем ОК. Теперь нужно убрать последний полигон оригинальной робы. Вновь переходим в режим редактирования полигонов (предварительно «отжав» кнопку attach), находим когда-то оставленный нами полигон и удаляем его. Все, теперь уже не осталось ничего, что напоминало-бы нам о церковной робе.&lt;br /&gt;
&lt;br /&gt;
Вы должны закончить со всеми правками модели до того, как добавите модификатор Unwrap UVW. Если ваша модель выглядит грубой, то необходимо  исправить:&lt;br /&gt;
ПКМ -&amp;gt; converto to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld -&amp;gt; Convert to editable Mesh&lt;br /&gt;
&lt;br /&gt;
'''Note:'''Закончите все правки модели и материалов до следующего шага - после него все изменения не отобразятся на конечном результате и придется переделывать. &lt;br /&gt;
&lt;br /&gt;
В списке модификаторов нашей модели найдем Unwrap UVW и добавим его к нашей модели. Модель должна окраситься ярко зелеными линиями.&lt;br /&gt;
&lt;br /&gt;
Далее правой кнопкой мыши по списку модификаторов-&amp;gt;Paste. Список модификаторов должен стать таким (сверху-вниз: Skin, Edit Normals, Unwrap UVW)&lt;br /&gt;
&lt;br /&gt;
С самой моделью мы наконец закончили.&lt;br /&gt;
&lt;br /&gt;
== Dress with crinoline ==&lt;br /&gt;
*[https://youtu.be/_q4mmFMmIK8 Как сделать платье с кринолином]&lt;br /&gt;
&lt;br /&gt;
== Export ==&lt;br /&gt;
&lt;br /&gt;
Для этого запускаем скрипт DAOModelExport. Нам предстанет вот так вот такое окно:&lt;br /&gt;
&lt;br /&gt;
[[File:Export.png|border]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Между Name и .MMH вписать hf_rob_chaa_0. Между Name и .MSH вписать тоже самое (если этого не сделалось автоматически). Отметить опцию Create MAO Material File. Все, теперь жмем Export. По окончании процесса экспорта в папке [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ должны появится пять новых файлов&lt;br /&gt;
hf_rob_chaa_0.phy&lt;br /&gt;
hf_rob_chaa_0.msh&lt;br /&gt;
hf_rob_chaa_0.mmh&lt;br /&gt;
hf_rob_chaa_0.met&lt;br /&gt;
pf_rob_chaz_0.mao&lt;br /&gt;
Там-же уже должны находится обе текстуры. Ну, вот собственно и все. Модель готова, можно запускать игру и смотреть результат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Addding custom shield ==&lt;br /&gt;
&lt;br /&gt;
Процесс тот же самый с разницей, что щиту не нужен rigging.&lt;br /&gt;
  &lt;br /&gt;
1) Импортируйте любой щит из игры. В отличие от брони тут не нужно следить за размером - ЛЮБОЙ щит подойдет.&lt;br /&gt;
&lt;br /&gt;
2) Импортируйте ваш щит в ту же сцену и погдгоните его размер к тому, что из игры.&lt;br /&gt;
&lt;br /&gt;
3) Сделайте из ващего нового щита ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. Collapse any active modifiers on the &amp;quot;new&amp;quot; item. Then add a new &amp;quot;unwrap UVW&amp;quot; modiefier to it, and double click it to open the UVW window. then drag and select everything you see there, and DRAG IT ANYWHERE OUTSIDE THE OUTLINED BOX IN THE CENTER. This will make life easier for you in step 6.&lt;br /&gt;
&lt;br /&gt;
4) Выберите щит из игры и выберете все модификаторы исключая &amp;quot;unwrap UVW&amp;quot;. ПКМ -&amp;gt;&amp;quot;cut&amp;quot;, а не удалить, потому что м ыбудем их использовать. Далее ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
5) Теперь &amp;quot;attach&amp;quot; щит из ДАО к вашему новому щиту. &lt;br /&gt;
&lt;br /&gt;
6) Добавть новый &amp;quot;unwrap uvw&amp;quot; к этому mesh. Проверьте все ли модификаторы на месте - press the &amp;quot;+&amp;quot; слева. Выберите &amp;quot;face&amp;quot;, и выберете все, что внутри the outlined box в середине. ПКМ &amp;quot;unwrap UVW&amp;quot; и выберете &amp;quot;collapse to&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
7) Потом нажмите &amp;quot;+&amp;quot; слева от слов &amp;quot;editable mesh&amp;quot;. Выберте &amp;quot;element&amp;quot; и удалите. Вставьте все модификаторы, которые мы вырезали на шаге 4.&lt;br /&gt;
&lt;br /&gt;
8) Добавьте текстуры и экспортируйте.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Customisation of original Dragon age armor]]&lt;br /&gt;
*[[Adding custom shield tutorial]]&lt;br /&gt;
*[[Adding custom level tutorial]] - Add your own level.&lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/423834-the-witcher-1-armors-in-da-origins/page-2#entry3544131 How to add new armor to DAO on English] &lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/1122450-loincloth-fashion/page-56#entry16909714 How to fix GDA conflict]&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/3974/? Item Variation ID spreadsheet modification]&lt;br /&gt;
*[https://youtu.be/370D7Lul9tk Skinning tutorial]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19816</id>
		<title>Adding custom armor tutorial/ru</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19816"/>
				<updated>2017-10-15T08:49:08Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Rigging */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ходе этого туториала мы импортируем платье Кристины Веспуччи из Assassins Creed: Brotherhood в ДАО. Вернее из XNA Lara, потому что ничего другого я не нашел. Это платье я выбрал не случайно - в ходе его адаптации мы используем все те приемы, которые часто используются в этом процессе (&amp;quot;дырявая ткань&amp;quot; аля кружева, текстуры кложи, зависящие от кожи персонажа, многослойный материал и т.д.).Это будет всего-лишь реплейсер, заменитель. Заменять будем церковную робу - просто потому что ее легче всего достать (в прологе мага, например, или с Лелианы в Лотеринге). Ну чтож, приступим...&lt;br /&gt;
Инструменты, что нам понадобятся:&lt;br /&gt;
*3ds max (или бесплатная версия - gmax). 3ds max не старше 2011 года- скрипт по импорту не будет работать.&lt;br /&gt;
*Dragon Age Origins&lt;br /&gt;
*Dragon Age Toolset&lt;br /&gt;
*Adobe Photoshop 32 version only because Nvidia DDS Plugin work only with 32 program.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] (плагин для 3ds max)&lt;br /&gt;
*Вы можете использовать эту программу [http://www.nexusmods.com/dragonage/mods/214/? GDA Editor] для файлов GDA типа.&lt;br /&gt;
*Движок не сможет работать с моделью больше 45 000 полигонов (Faces) и 30 000 вершин (Vertices).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Сделите за тем, куда вы устанавливаете все программы- program files(x86) для 32 битных программ на 64 bit компьютерах. Скрипт экспорта и сама игра должны быть в одной папке program files.&lt;br /&gt;
&lt;br /&gt;
Установка скрипта Eshme Import/Export: Startup, YAGG и DAOTools добавить в C(диск):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
Настройка. Если вы все сделали правильно, то при первом запуске возникнет окно с настройками. &lt;br /&gt;
&lt;br /&gt;
В Game Path должно быть указано папка с игрой аля C:\Program Files (x86)\Dragon Age, в Export Path папка Override в документах аля C:\Program Files (x86)\Dragon Age\packages\core\override. Наличие установленного тулсета самой последней версии  ОБЯЗАТЕЛЬНО. Сам тулсет должен быть установлен в папку с игрой и после этого вы сможете начать работу в 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures preparation ==&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся четыре: диффузная карта (основная, видимая текстура), нормал карта (однотонная рельефная карта), спекуляр карта (она помогает настроить освещение конкретно под модель) и тинт карта (она говорит двужку где кожа, а где не изменная ткань). Так как исходная модель содержит несколько материалов, то и наборов текстур тоже несколько. Это значит, что например диффузных карт будет тоже несколько.&lt;br /&gt;
Сначала переведем их в формат .DDS с помощью фотошопа. Помните, что размер текстур ВСЕГДА должен быть кратным 4: 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192.&lt;br /&gt;
&lt;br /&gt;
Diffuse map:&lt;br /&gt;
Кожа обязательно должна быть перведена в бледно-серый цвет, чтобы максимально корректно отображать цвет кожи. Должно получиться примерно так:&lt;br /&gt;
 &lt;br /&gt;
[[File:Skin1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
В альфа канале (если его нету, то создаем его с названием Alpha 1) выделяем черным те области, которые будут &amp;quot;дырками&amp;quot;, белое так и останется не прозрачным. Получиться должно нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Normal map: &lt;br /&gt;
Нужно перенести текстуру в монотонно серый. Помимо этого, нужно еще изменить изображение альфа-канала на идентичный зеленому каналу. Должно получится нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Spectacular map:&lt;br /&gt;
Почти ничем не отличается от диффузной, только чуть более темней. Элементы с кожей в обязательном порядке нужно модифицировать. Цвет нужно изменить на темно-красный, почти черный. Саму область нужно подвергнуть обработке: image-&amp;gt; adjustments -&amp;gt;brightness/contrast значение выставлять примерно такие brightness -45, contrast 95. В итоге кожа должна стать примерно такой:&lt;br /&gt;
&lt;br /&gt;
[[File:Spectacularex.png|border]]&lt;br /&gt;
&lt;br /&gt;
* Note: В альфа канал спекуляр карты нужно просто скопировать синий канал. '''Делать это нужно уже после того, как разберетесь с участками кожи.'''Чем больше белого на текстуре _s тем больше и интенсивней будет блеск.&lt;br /&gt;
&lt;br /&gt;
Tint map:&lt;br /&gt;
* '''Note: Не нужна вам если на вашей броне нет участков кожи'''&lt;br /&gt;
Самая простая текстура - работать будет только в альфа канале. Всю текстуру полностью залейте черным цветом. В альфа канале нужно будет сделать примерно тоже самое, что мы уже проделали с альфа каналом диффузной карты, только на этот раз черным будут зоны, которые будут менять тон в соответствии с кожей персонажа, а белые оставаться не изменными. Эта тесктура полностью залита черным потому, что она полностью покрывает кожу и участки, а значит и выделываться здесь смысла нет. То есть да - конкретно в нашем случае должна получиться полностью черная текстура - все четыре канала залиты черным.&lt;br /&gt;
&lt;br /&gt;
== Connecting textures ==&lt;br /&gt;
Cоединение текстур. Как я уже упомянал, платье Кристины Веспуччи содержит несколько материалов. Движок ДАО может поддерживать только один материал, а значит нам придется все текстуры объединить.&lt;br /&gt;
Самое главное в том, что один раз определившись порядком текстур, нужно придерживаться его постоянно. В общем, нам нужно выстроить примерно такую конструкцию:&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
'''*Note: Запомните положение текстур, оно вам понадобится при объединении материалов в 3ds Max.'''Тоже самое и для остальных карт (нормали, спекуляр и тинт). Альфа каналы выстраиваем так же. Размер текстур должен быть кратным 4.&lt;br /&gt;
&lt;br /&gt;
== Save textures ==&lt;br /&gt;
&lt;br /&gt;
Текстуры нужно сохранять с такими настройками: &lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Normal map:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Все, на этом в фотошопе закончено. Можно его закрывать. Переименуйте текстуры в hf_rob_chaz_0n.dds (normal-текстура), hf_rob_chaz_0d (diffuse-текстура), hf_rob_chaz_0s (спекуляр) и hf_rob_chaz_0t (тинт карта). Сами текстуры уже можно переместить в папку [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
&lt;br /&gt;
== Names ==&lt;br /&gt;
Очень важно для GDA. &lt;br /&gt;
Текстуры надо называть так: [принадлежность полу-расе]_[тип брони\одежды]_[уникальный индекс из 4 букв]_0[тип текстуры].&lt;br /&gt;
Принадлежность полу расе обозначается так:&lt;br /&gt;
*hf- жен. человек&lt;br /&gt;
*hm- муж. человек&lt;br /&gt;
*ef- жен. эльф&lt;br /&gt;
*em- муж. эльф&lt;br /&gt;
*df- жен. гном&lt;br /&gt;
*dm- муж. гном&lt;br /&gt;
*qm- кунари-мужик&lt;br /&gt;
Броня:&lt;br /&gt;
*arm - броня&lt;br /&gt;
*rob - роба (мага, церковника)&lt;br /&gt;
*cth - одежда (дворянина, свадебная)&lt;br /&gt;
Helmets:&lt;br /&gt;
*hlh - for mages.&lt;br /&gt;
*hlf - massive ones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Уникальный индекс можете выбрать любой. Главное помните - не больше 4 букв и не занятый другой вещью.'''&lt;br /&gt;
&lt;br /&gt;
Типов текстур 5:&lt;br /&gt;
*d - диффузная (Duffise)&lt;br /&gt;
*n - нормаль (Normal)&lt;br /&gt;
*s - спекуляр (Spectacular)&lt;br /&gt;
*t - тинт (Tint)&lt;br /&gt;
*e - эммиссив (Emissive) Нужна для свечения аля скай-фай броня. В дао почти не используется)&lt;br /&gt;
В итоге должно получиться нечто вроде такого: hf_rob_xmpl_0d или em_arm_exmp_0n. &lt;br /&gt;
'''*NOTE: Сам материал (название материала в максе, потом это будет MAO файл) именуем также, только без типа текстуры. Например: hf_rob_xmpl или em_arm_exmp. Модель именуется так-же, только с цифрой детализации в конце: hf_rob_xmpl_0 или em_arm_exmp_0'''&lt;br /&gt;
&lt;br /&gt;
== 3D MAX ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Если ваша броня выглядит слишком &amp;quot;грубой&amp;quot;, то это можно исправить ПКМ-&amp;gt; Convert to Edit Poly -&amp;gt; Режим Vertex на панели справа -&amp;gt; press button Weld (Vertexes) на панели справа. Можно там же использовать и Smooth, но будьте осторожны- это добавит новые полигоны ваша модель может не подойти для движка.'''&lt;br /&gt;
&lt;br /&gt;
В ходе адаптации модели нам понадобится максимально похожий образец из оригинальной игры. В моем случае я выбрал церковную робу (hf_rob_chaa) – этакий универсальный образец, который подходит для большинства случаев. В Toolset’е откроем архивы modelhierarchies.erf materialobjects.erf modelmeshdata.erf (найти их можно по даресу [имя_диска_с_игрой]: \Dragon Age\packages\core\data). Так-же откроем архив texturepack.erf находящийся по адресу [имя_диска_с_игрой]:\Dragon Age\packages\core\textures\high. В этих архивах находим файлы&lt;br /&gt;
hf_rob_chaa_0.mmh, hf_rob_chaa_0.phy (modelhierarchies.erf)&lt;br /&gt;
hf_rob_chaa_0.msh (modelmeshdata.erf)&lt;br /&gt;
pf_rob_chaa.mao (materialobjects.erf)&lt;br /&gt;
pf_rob_chaa_0d.dds, pf_rob_chaa_0n.dds, pf_rob_chaa_0s.dds, pf_rob_chaa_0t.dds (texturepack.erf)&lt;br /&gt;
и распаковываем в отдельную папку. Всего на выходе должно получится 8 файлов.&lt;br /&gt;
&lt;br /&gt;
А теперь перейдем в 3ds max. Прежде, чем приступить непосредственно к конвентированию, настроим плагин для 3ds max. Мне гораздо удобнее запускать сразу скрипты, чем захламлять разными кнопками рабочее пространство редактора. Для запуска конфигуратора запустим скрипт (Max Script-&amp;gt;Run Script) DAOToolsSetup находящийся по адресу C:\Program Files\Autodesk\3dsMax8\Scripts\DAOTools.&lt;br /&gt;
&lt;br /&gt;
Итак, приступим, к настройке. В строке Game Path указываем адрес к папке с игрой. В Export Path указываем, куда будут сохранятся экспортированные файлы. Т.к. наша модель будет заменять уже имеющуюся, то укажем там адрес [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ Ползунок World Scale ставим на значение 100. Дело в том, что в своем «естественном» виде, модели ДА очень маленькие. Для комфортной работы с ними нужно увеличить их в 100 (сто) раз. Эта функция как раз создана для того, чтобы на время работы увеличивать модель в удобный размер, а экспортируя обратно возвращая к естественным размерам. Все остальное оставляем нетронутым и нажимаем ОК. Конфигуратор перед закрытием проинформирует нас о возможности в любой момент изменить настройки, не пугайтесь выскочившего окна.&lt;br /&gt;
&lt;br /&gt;
И вот наконец теперь можно заняться непосредственно конвертированием. В окне редактора у нас должна уже быть открыта сама модель. Следующее, что нам нужно сделать, это загрузить оригинальную модель из ДАО. Для этого запускаем скрипт DAOImport. В пункте File секции Model Import указываем месторасположение недавно вытащенного нами .mmh файла (hf_rob_chaa_0.mmh). Нажимаем на кнопку Import, специальное окно известит нас о готовности к импорту, жмем ОК и ждем 5-30 секунд (в зависимости от мощности компьютера) пока загрузится модель.&lt;br /&gt;
&lt;br /&gt;
Для начала скроем все, что нам в данный момент не понадобится. Откроем Schematic View (Graph Editors-&amp;gt; New Schematic View) &lt;br /&gt;
&lt;br /&gt;
Здесь можно увидеть две большие древовидные структуры – это обе наши модели с их иерархией. Полностью выделим структуру оригинальной модели (легко определить по наличию в ней зеленых элементов). Сворачиваем Schematic View. В основном рабочем окне можно увидеть, что выделена оригинальная игровая модель и все ее элементы &lt;br /&gt;
&lt;br /&gt;
Теперь снимем выделение с самой робы, так чтобы выделенными остались лишь второстепенные элементы. Скроем их, чтобы не мешались, они нам все-равно не понадобятся. Для этого нажмем по пустому пространству рабочей области правой кнопкой мыши-&amp;gt;hide selection. Теперь осталось только зафиксировать оригинальную модель. Для этого выделяем ее и правой кнопкой мыши-&amp;gt;properties.&lt;br /&gt;
Поставьте напротив опции Freeze секции interactivity, уберите напротив опции Show Frozen in Gray секции display Properties соответственно. Все, теперь оригинальная модель зафиксирована и защищена от случайных манипуляций.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подогнать модель платья Кристины под габариты игровой робы. Желательно сделать это как можно точнее. Для трансформации модели лучше всего воздействовать на ее кости, так гораздо удобнее. Масштабируем, поворачиваем и двигаем кости так, чтобы модель ровно легла в очертания оригинальной робы. Разводим руки, сводим ноги – процесс нужно делать на «глазок».&lt;br /&gt;
&lt;br /&gt;
== Working with materials ==&lt;br /&gt;
*NOTE: Работать с материалами нужно до риггинга. Иначе будут проблемы.&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Важное отступление - если ваша модель полностью покрывается одной текстурой, то ничего из нижеописанного вам проделывать не нужно.&lt;br /&gt;
Сейчас нам нужно объединить несколько материалов в один. Процесс не тривиальный. Итак, когда вы откроете редактор координат, то увидите вот такую картину:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Зеленые линии - это координаты модели на текстуре. Многие игровые движки используют все пространство редактора, но не ДАО. Наша игра не видит ничего за границами выделенного квадрата. Наша задача - передвинуть все координаты во внутрь этого квадрата. Во вкладке All ID's можно выбирать отдельные материалы и двигать их. Наложите текстуру, которую вы создали в фотошопе и согласно ее контурам отмасштабируте и перенесите ее на соответствующее место. Тоже самое нужно бьудет проделать и со всеми сетами материалов, чтобы в конце-концов получилось что-то вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
После этого можно закрывать редактор координат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Continue working with materials ==&lt;br /&gt;
&lt;br /&gt;
На верхней панели инструментов найдем кнопку редактора метериалов (четыре разноцветных шара) &lt;br /&gt;
Далее нажимаем Get Material и выбираем из списка Dragon Age Material (если плагин установлен правильно, то он в списке будет) &lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
&lt;br /&gt;
В Material Type указываем Character, в Render Semantics – [Armor w / Skin Tint][Alpha Blending][No Emissive]. Разворачиваем список Texture Maps и назначаем соответствующие текстуры. Далее Assign Material to Selection (платье должно быть выделенным). Если так хочется увидеть текстуру в редакторе, то жмем Show Map in Viewport. Осталось только дать нашему материалу нормальное имя. В соответствующем поле введем pf_rob_chaz_0. Вот и все.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Rigging ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Как только наша модель полностью ляжет в очертания оригинальной робы, можно приступать к следующей фазе &lt;br /&gt;
Выделим нашу модель, правой кнопкой мыши по пустому месту-&amp;gt;Convert To-&amp;gt; Convert To Editable Mesh.&lt;br /&gt;
Теперь полностью выделяем все объекты, снимаем выделение с самой модели платья Кристины (выделеными должны остаться все объекты КРОМЕ платья Кристины) и удаляем. Должны остаться только церковная роба и платье Кристины. Далее правой кнопкой мыши по пустому месту-&amp;gt;Unfreeze All. Это разморозит оригинальную робу, сделав ее доступной для редактирования. Затем в списке ее модификаторов выделим Skin и Edit Normals (с зажатым CTRL). Правой кнопкой мыши по ним-&amp;gt;Cut. Из списка модификаторов они должны исчезнуть. Далее правой кнопкой мыши по пустому месту рабочего пространства-&amp;gt;Convert To-&amp;gt;Convert To Editable Mesh. Это низведет оригинальную робу в тоже состояние, в котором сейчас пребывает и платье Кристины.&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем в режим редактирования полигонов &lt;br /&gt;
&lt;br /&gt;
[[File:Polygon.png|border]]&lt;br /&gt;
 &lt;br /&gt;
Нажмите CTL+ A Вся оригинальная роба должна окраситься в красный цвет выделения. Далее нужно снять выделение с одного-единственного полигона (делается с зажатой клавишей ALT). Какого именно – неважно, главное чтобы он был на виду и до него было просто добраться. Я выбрал один у самых ног. Все, что теперь нужно сделать – нажать кнопку Delete. Это удалит всю модель, кроме одного оставленного нами полигона. Теперь нам нужно прирастить к этому полигону платье Кристины. Для этого выберем на панели инструментов справа кнопку Attach  и нажмем мышью на скафандр. Появится окно, выбрать опцию Match Material to Material IDs. Жмем ОК. Теперь нужно убрать последний полигон оригинальной робы. Вновь переходим в режим редактирования полигонов (предварительно «отжав» кнопку attach), находим когда-то оставленный нами полигон и удаляем его. Все, теперь уже не осталось ничего, что напоминало-бы нам о церковной робе.&lt;br /&gt;
&lt;br /&gt;
Вы должны закончить со всеми правками модели до того, как добавите модификатор Unwrap UVW. Если ваша модель выглядит грубой, то необходимо  исправить:&lt;br /&gt;
ПКМ -&amp;gt; converto to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld -&amp;gt; Convert to editable Mesh&lt;br /&gt;
&lt;br /&gt;
'''Note:'''Закончите все правки модели и материалов до следующего шага - после него все изменения не отобразятся на конечном результате и придется переделывать. &lt;br /&gt;
&lt;br /&gt;
В списке модификаторов нашей модели найдем Unwrap UVW и добавим его к нашей модели. Модель должна окраситься ярко зелеными линиями.&lt;br /&gt;
&lt;br /&gt;
Далее правой кнопкой мыши по списку модификаторов-&amp;gt;Paste. Список модификаторов должен стать таким (сверху-вниз: Skin, Edit Normals, Unwrap UVW)&lt;br /&gt;
&lt;br /&gt;
С самой моделью мы наконец закончили.&lt;br /&gt;
&lt;br /&gt;
== Dress with crinoline ==&lt;br /&gt;
*[https://youtu.be/_q4mmFMmIK8 Как сделать платье с кринолином]&lt;br /&gt;
&lt;br /&gt;
== Export ==&lt;br /&gt;
&lt;br /&gt;
Для этого запускаем скрипт DAOModelExport. Нам предстанет вот так вот такое окно:&lt;br /&gt;
&lt;br /&gt;
[[File:Export.png|border]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Между Name и .MMH вписать hf_rob_chaa_0. Между Name и .MSH вписать тоже самое (если этого не сделалось автоматически). Отметить опцию Create MAO Material File. Все, теперь жмем Export. По окончании процесса экспорта в папке [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ должны появится пять новых файлов&lt;br /&gt;
hf_rob_chaa_0.phy&lt;br /&gt;
hf_rob_chaa_0.msh&lt;br /&gt;
hf_rob_chaa_0.mmh&lt;br /&gt;
hf_rob_chaa_0.met&lt;br /&gt;
pf_rob_chaz_0.mao&lt;br /&gt;
Там-же уже должны находится обе текстуры. Ну, вот собственно и все. Модель готова, можно запускать игру и смотреть результат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Addding custom shield ==&lt;br /&gt;
&lt;br /&gt;
Процесс тот же самый с разницей, что щиту не нужен rigging.&lt;br /&gt;
  &lt;br /&gt;
1) Импортируйте любой щит из игры. В отличие от брони тут не нужно следить за размером - ЛЮБОЙ щит подойдет.&lt;br /&gt;
&lt;br /&gt;
2) Импортируйте ваш щит в ту же сцену и погдгоните его размер к тому, что из игры.&lt;br /&gt;
&lt;br /&gt;
3) Сделайте из ващего нового щита ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. Collapse any active modifiers on the &amp;quot;new&amp;quot; item. Then add a new &amp;quot;unwrap UVW&amp;quot; modiefier to it, and double click it to open the UVW window. then drag and select everything you see there, and DRAG IT ANYWHERE OUTSIDE THE OUTLINED BOX IN THE CENTER. This will make life easier for you in step 6.&lt;br /&gt;
&lt;br /&gt;
4) Выберите щит из игры и выберете все модификаторы исключая &amp;quot;unwrap UVW&amp;quot;. ПКМ -&amp;gt;&amp;quot;cut&amp;quot;, а не удалить, потому что м ыбудем их использовать. Далее ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
5) Теперь &amp;quot;attach&amp;quot; щит из ДАО к вашему новому щиту. &lt;br /&gt;
&lt;br /&gt;
6) Добавть новый &amp;quot;unwrap uvw&amp;quot; к этому mesh. Проверьте все ли модификаторы на месте - press the &amp;quot;+&amp;quot; слева. Выберите &amp;quot;face&amp;quot;, и выберете все, что внутри the outlined box в середине. ПКМ &amp;quot;unwrap UVW&amp;quot; и выберете &amp;quot;collapse to&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
7) Потом нажмите &amp;quot;+&amp;quot; слева от слов &amp;quot;editable mesh&amp;quot;. Выберте &amp;quot;element&amp;quot; и удалите. Вставьте все модификаторы, которые мы вырезали на шаге 4.&lt;br /&gt;
&lt;br /&gt;
8) Добавьте текстуры и экспортируйте.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Customisation of original Dragon age armor]]&lt;br /&gt;
*[[Adding custom shield tutorial]]&lt;br /&gt;
*[[Adding custom level tutorial]] - Add your own level.&lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/423834-the-witcher-1-armors-in-da-origins/page-2#entry3544131 How to add new armor to DAO on English] &lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/1122450-loincloth-fashion/page-56#entry16909714 How to fix GDA conflict]&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/3974/? Item Variation ID spreadsheet modification]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19815</id>
		<title>Adding custom armor tutorial/ru</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19815"/>
				<updated>2017-08-12T06:41:28Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ходе этого туториала мы импортируем платье Кристины Веспуччи из Assassins Creed: Brotherhood в ДАО. Вернее из XNA Lara, потому что ничего другого я не нашел. Это платье я выбрал не случайно - в ходе его адаптации мы используем все те приемы, которые часто используются в этом процессе (&amp;quot;дырявая ткань&amp;quot; аля кружева, текстуры кложи, зависящие от кожи персонажа, многослойный материал и т.д.).Это будет всего-лишь реплейсер, заменитель. Заменять будем церковную робу - просто потому что ее легче всего достать (в прологе мага, например, или с Лелианы в Лотеринге). Ну чтож, приступим...&lt;br /&gt;
Инструменты, что нам понадобятся:&lt;br /&gt;
*3ds max (или бесплатная версия - gmax). 3ds max не старше 2011 года- скрипт по импорту не будет работать.&lt;br /&gt;
*Dragon Age Origins&lt;br /&gt;
*Dragon Age Toolset&lt;br /&gt;
*Adobe Photoshop 32 version only because Nvidia DDS Plugin work only with 32 program.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] (плагин для 3ds max)&lt;br /&gt;
*Вы можете использовать эту программу [http://www.nexusmods.com/dragonage/mods/214/? GDA Editor] для файлов GDA типа.&lt;br /&gt;
*Движок не сможет работать с моделью больше 45 000 полигонов (Faces) и 30 000 вершин (Vertices).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Сделите за тем, куда вы устанавливаете все программы- program files(x86) для 32 битных программ на 64 bit компьютерах. Скрипт экспорта и сама игра должны быть в одной папке program files.&lt;br /&gt;
&lt;br /&gt;
Установка скрипта Eshme Import/Export: Startup, YAGG и DAOTools добавить в C(диск):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
Настройка. Если вы все сделали правильно, то при первом запуске возникнет окно с настройками. &lt;br /&gt;
&lt;br /&gt;
В Game Path должно быть указано папка с игрой аля C:\Program Files (x86)\Dragon Age, в Export Path папка Override в документах аля C:\Program Files (x86)\Dragon Age\packages\core\override. Наличие установленного тулсета самой последней версии  ОБЯЗАТЕЛЬНО. Сам тулсет должен быть установлен в папку с игрой и после этого вы сможете начать работу в 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures preparation ==&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся четыре: диффузная карта (основная, видимая текстура), нормал карта (однотонная рельефная карта), спекуляр карта (она помогает настроить освещение конкретно под модель) и тинт карта (она говорит двужку где кожа, а где не изменная ткань). Так как исходная модель содержит несколько материалов, то и наборов текстур тоже несколько. Это значит, что например диффузных карт будет тоже несколько.&lt;br /&gt;
Сначала переведем их в формат .DDS с помощью фотошопа. Помните, что размер текстур ВСЕГДА должен быть кратным 4: 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192.&lt;br /&gt;
&lt;br /&gt;
Diffuse map:&lt;br /&gt;
Кожа обязательно должна быть перведена в бледно-серый цвет, чтобы максимально корректно отображать цвет кожи. Должно получиться примерно так:&lt;br /&gt;
 &lt;br /&gt;
[[File:Skin1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
В альфа канале (если его нету, то создаем его с названием Alpha 1) выделяем черным те области, которые будут &amp;quot;дырками&amp;quot;, белое так и останется не прозрачным. Получиться должно нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Normal map: &lt;br /&gt;
Нужно перенести текстуру в монотонно серый. Помимо этого, нужно еще изменить изображение альфа-канала на идентичный зеленому каналу. Должно получится нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Spectacular map:&lt;br /&gt;
Почти ничем не отличается от диффузной, только чуть более темней. Элементы с кожей в обязательном порядке нужно модифицировать. Цвет нужно изменить на темно-красный, почти черный. Саму область нужно подвергнуть обработке: image-&amp;gt; adjustments -&amp;gt;brightness/contrast значение выставлять примерно такие brightness -45, contrast 95. В итоге кожа должна стать примерно такой:&lt;br /&gt;
&lt;br /&gt;
[[File:Spectacularex.png|border]]&lt;br /&gt;
&lt;br /&gt;
* Note: В альфа канал спекуляр карты нужно просто скопировать синий канал. '''Делать это нужно уже после того, как разберетесь с участками кожи.'''Чем больше белого на текстуре _s тем больше и интенсивней будет блеск.&lt;br /&gt;
&lt;br /&gt;
Tint map:&lt;br /&gt;
* '''Note: Не нужна вам если на вашей броне нет участков кожи'''&lt;br /&gt;
Самая простая текстура - работать будет только в альфа канале. Всю текстуру полностью залейте черным цветом. В альфа канале нужно будет сделать примерно тоже самое, что мы уже проделали с альфа каналом диффузной карты, только на этот раз черным будут зоны, которые будут менять тон в соответствии с кожей персонажа, а белые оставаться не изменными. Эта тесктура полностью залита черным потому, что она полностью покрывает кожу и участки, а значит и выделываться здесь смысла нет. То есть да - конкретно в нашем случае должна получиться полностью черная текстура - все четыре канала залиты черным.&lt;br /&gt;
&lt;br /&gt;
== Connecting textures ==&lt;br /&gt;
Cоединение текстур. Как я уже упомянал, платье Кристины Веспуччи содержит несколько материалов. Движок ДАО может поддерживать только один материал, а значит нам придется все текстуры объединить.&lt;br /&gt;
Самое главное в том, что один раз определившись порядком текстур, нужно придерживаться его постоянно. В общем, нам нужно выстроить примерно такую конструкцию:&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
'''*Note: Запомните положение текстур, оно вам понадобится при объединении материалов в 3ds Max.'''Тоже самое и для остальных карт (нормали, спекуляр и тинт). Альфа каналы выстраиваем так же. Размер текстур должен быть кратным 4.&lt;br /&gt;
&lt;br /&gt;
== Save textures ==&lt;br /&gt;
&lt;br /&gt;
Текстуры нужно сохранять с такими настройками: &lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Normal map:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Все, на этом в фотошопе закончено. Можно его закрывать. Переименуйте текстуры в hf_rob_chaz_0n.dds (normal-текстура), hf_rob_chaz_0d (diffuse-текстура), hf_rob_chaz_0s (спекуляр) и hf_rob_chaz_0t (тинт карта). Сами текстуры уже можно переместить в папку [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
&lt;br /&gt;
== Names ==&lt;br /&gt;
Очень важно для GDA. &lt;br /&gt;
Текстуры надо называть так: [принадлежность полу-расе]_[тип брони\одежды]_[уникальный индекс из 4 букв]_0[тип текстуры].&lt;br /&gt;
Принадлежность полу расе обозначается так:&lt;br /&gt;
*hf- жен. человек&lt;br /&gt;
*hm- муж. человек&lt;br /&gt;
*ef- жен. эльф&lt;br /&gt;
*em- муж. эльф&lt;br /&gt;
*df- жен. гном&lt;br /&gt;
*dm- муж. гном&lt;br /&gt;
*qm- кунари-мужик&lt;br /&gt;
Броня:&lt;br /&gt;
*arm - броня&lt;br /&gt;
*rob - роба (мага, церковника)&lt;br /&gt;
*cth - одежда (дворянина, свадебная)&lt;br /&gt;
Helmets:&lt;br /&gt;
*hlh - for mages.&lt;br /&gt;
*hlf - massive ones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Уникальный индекс можете выбрать любой. Главное помните - не больше 4 букв и не занятый другой вещью.'''&lt;br /&gt;
&lt;br /&gt;
Типов текстур 5:&lt;br /&gt;
*d - диффузная (Duffise)&lt;br /&gt;
*n - нормаль (Normal)&lt;br /&gt;
*s - спекуляр (Spectacular)&lt;br /&gt;
*t - тинт (Tint)&lt;br /&gt;
*e - эммиссив (Emissive) Нужна для свечения аля скай-фай броня. В дао почти не используется)&lt;br /&gt;
В итоге должно получиться нечто вроде такого: hf_rob_xmpl_0d или em_arm_exmp_0n. &lt;br /&gt;
'''*NOTE: Сам материал (название материала в максе, потом это будет MAO файл) именуем также, только без типа текстуры. Например: hf_rob_xmpl или em_arm_exmp. Модель именуется так-же, только с цифрой детализации в конце: hf_rob_xmpl_0 или em_arm_exmp_0'''&lt;br /&gt;
&lt;br /&gt;
== 3D MAX ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Если ваша броня выглядит слишком &amp;quot;грубой&amp;quot;, то это можно исправить ПКМ-&amp;gt; Convert to Edit Poly -&amp;gt; Режим Vertex на панели справа -&amp;gt; press button Weld (Vertexes) на панели справа. Можно там же использовать и Smooth, но будьте осторожны- это добавит новые полигоны ваша модель может не подойти для движка.'''&lt;br /&gt;
&lt;br /&gt;
В ходе адаптации модели нам понадобится максимально похожий образец из оригинальной игры. В моем случае я выбрал церковную робу (hf_rob_chaa) – этакий универсальный образец, который подходит для большинства случаев. В Toolset’е откроем архивы modelhierarchies.erf materialobjects.erf modelmeshdata.erf (найти их можно по даресу [имя_диска_с_игрой]: \Dragon Age\packages\core\data). Так-же откроем архив texturepack.erf находящийся по адресу [имя_диска_с_игрой]:\Dragon Age\packages\core\textures\high. В этих архивах находим файлы&lt;br /&gt;
hf_rob_chaa_0.mmh, hf_rob_chaa_0.phy (modelhierarchies.erf)&lt;br /&gt;
hf_rob_chaa_0.msh (modelmeshdata.erf)&lt;br /&gt;
pf_rob_chaa.mao (materialobjects.erf)&lt;br /&gt;
pf_rob_chaa_0d.dds, pf_rob_chaa_0n.dds, pf_rob_chaa_0s.dds, pf_rob_chaa_0t.dds (texturepack.erf)&lt;br /&gt;
и распаковываем в отдельную папку. Всего на выходе должно получится 8 файлов.&lt;br /&gt;
&lt;br /&gt;
А теперь перейдем в 3ds max. Прежде, чем приступить непосредственно к конвентированию, настроим плагин для 3ds max. Мне гораздо удобнее запускать сразу скрипты, чем захламлять разными кнопками рабочее пространство редактора. Для запуска конфигуратора запустим скрипт (Max Script-&amp;gt;Run Script) DAOToolsSetup находящийся по адресу C:\Program Files\Autodesk\3dsMax8\Scripts\DAOTools.&lt;br /&gt;
&lt;br /&gt;
Итак, приступим, к настройке. В строке Game Path указываем адрес к папке с игрой. В Export Path указываем, куда будут сохранятся экспортированные файлы. Т.к. наша модель будет заменять уже имеющуюся, то укажем там адрес [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ Ползунок World Scale ставим на значение 100. Дело в том, что в своем «естественном» виде, модели ДА очень маленькие. Для комфортной работы с ними нужно увеличить их в 100 (сто) раз. Эта функция как раз создана для того, чтобы на время работы увеличивать модель в удобный размер, а экспортируя обратно возвращая к естественным размерам. Все остальное оставляем нетронутым и нажимаем ОК. Конфигуратор перед закрытием проинформирует нас о возможности в любой момент изменить настройки, не пугайтесь выскочившего окна.&lt;br /&gt;
&lt;br /&gt;
И вот наконец теперь можно заняться непосредственно конвертированием. В окне редактора у нас должна уже быть открыта сама модель. Следующее, что нам нужно сделать, это загрузить оригинальную модель из ДАО. Для этого запускаем скрипт DAOImport. В пункте File секции Model Import указываем месторасположение недавно вытащенного нами .mmh файла (hf_rob_chaa_0.mmh). Нажимаем на кнопку Import, специальное окно известит нас о готовности к импорту, жмем ОК и ждем 5-30 секунд (в зависимости от мощности компьютера) пока загрузится модель.&lt;br /&gt;
&lt;br /&gt;
Для начала скроем все, что нам в данный момент не понадобится. Откроем Schematic View (Graph Editors-&amp;gt; New Schematic View) &lt;br /&gt;
&lt;br /&gt;
Здесь можно увидеть две большие древовидные структуры – это обе наши модели с их иерархией. Полностью выделим структуру оригинальной модели (легко определить по наличию в ней зеленых элементов). Сворачиваем Schematic View. В основном рабочем окне можно увидеть, что выделена оригинальная игровая модель и все ее элементы &lt;br /&gt;
&lt;br /&gt;
Теперь снимем выделение с самой робы, так чтобы выделенными остались лишь второстепенные элементы. Скроем их, чтобы не мешались, они нам все-равно не понадобятся. Для этого нажмем по пустому пространству рабочей области правой кнопкой мыши-&amp;gt;hide selection. Теперь осталось только зафиксировать оригинальную модель. Для этого выделяем ее и правой кнопкой мыши-&amp;gt;properties.&lt;br /&gt;
Поставьте напротив опции Freeze секции interactivity, уберите напротив опции Show Frozen in Gray секции display Properties соответственно. Все, теперь оригинальная модель зафиксирована и защищена от случайных манипуляций.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подогнать модель платья Кристины под габариты игровой робы. Желательно сделать это как можно точнее. Для трансформации модели лучше всего воздействовать на ее кости, так гораздо удобнее. Масштабируем, поворачиваем и двигаем кости так, чтобы модель ровно легла в очертания оригинальной робы. Разводим руки, сводим ноги – процесс нужно делать на «глазок».&lt;br /&gt;
&lt;br /&gt;
== Working with materials ==&lt;br /&gt;
*NOTE: Работать с материалами нужно до риггинга. Иначе будут проблемы.&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Важное отступление - если ваша модель полностью покрывается одной текстурой, то ничего из нижеописанного вам проделывать не нужно.&lt;br /&gt;
Сейчас нам нужно объединить несколько материалов в один. Процесс не тривиальный. Итак, когда вы откроете редактор координат, то увидите вот такую картину:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Зеленые линии - это координаты модели на текстуре. Многие игровые движки используют все пространство редактора, но не ДАО. Наша игра не видит ничего за границами выделенного квадрата. Наша задача - передвинуть все координаты во внутрь этого квадрата. Во вкладке All ID's можно выбирать отдельные материалы и двигать их. Наложите текстуру, которую вы создали в фотошопе и согласно ее контурам отмасштабируте и перенесите ее на соответствующее место. Тоже самое нужно бьудет проделать и со всеми сетами материалов, чтобы в конце-концов получилось что-то вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
После этого можно закрывать редактор координат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Continue working with materials ==&lt;br /&gt;
&lt;br /&gt;
На верхней панели инструментов найдем кнопку редактора метериалов (четыре разноцветных шара) &lt;br /&gt;
Далее нажимаем Get Material и выбираем из списка Dragon Age Material (если плагин установлен правильно, то он в списке будет) &lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
&lt;br /&gt;
В Material Type указываем Character, в Render Semantics – [Armor w / Skin Tint][Alpha Blending][No Emissive]. Разворачиваем список Texture Maps и назначаем соответствующие текстуры. Далее Assign Material to Selection (платье должно быть выделенным). Если так хочется увидеть текстуру в редакторе, то жмем Show Map in Viewport. Осталось только дать нашему материалу нормальное имя. В соответствующем поле введем pf_rob_chaz_0. Вот и все.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Rigging ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Как только наша модель полностью ляжет в очертания оригинальной робы, можно приступать к следующей фазе &lt;br /&gt;
Выделим нашу модель, правой кнопкой мыши по пустому месту-&amp;gt;Convert To-&amp;gt; Convert To Editable Mesh.&lt;br /&gt;
Теперь полностью выделяем все объекты, снимаем выделение с самой модели платья Кристины (выделеными должны остаться все объекты КРОМЕ платья Кристины) и удаляем. Должны остаться только церковная роба и платье Кристины. Далее правой кнопкой мыши по пустому месту-&amp;gt;Unfreeze All. Это разморозит оригинальную робу, сделав ее доступной для редактирования. Затем в списке ее модификаторов выделим Skin и Edit Normals (с зажатым CTRL). Правой кнопкой мыши по ним-&amp;gt;Cut. Из списка модификаторов они должны исчезнуть. Далее правой кнопкой мыши по пустому месту рабочего пространства-&amp;gt;Convert To-&amp;gt;Convert To Editable Mesh. Это низведет оригинальную робу в тоже состояние, в котором сейчас пребывает и платье Кристины.&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем в режим редактирования полигонов &lt;br /&gt;
&lt;br /&gt;
[[File:Polygon.png|border]]&lt;br /&gt;
 &lt;br /&gt;
Нажмите CTL+ A Вся оригинальная роба должна окраситься в красный цвет выделения. Далее нужно снять выделение с одного-единственного полигона (делается с зажатой клавишей ALT). Какого именно – неважно, главное чтобы он был на виду и до него было просто добраться. Я выбрал один у самых ног. Все, что теперь нужно сделать – нажать кнопку Delete. Это удалит всю модель, кроме одного оставленного нами полигона. Теперь нам нужно прирастить к этому полигону платье Кристины. Для этого выберем на панели инструментов справа кнопку Attach  и нажмем мышью на скафандр. Появится окно, выбрать опцию Match Material to Material IDs. Жмем ОК. Теперь нужно убрать последний полигон оригинальной робы. Вновь переходим в режим редактирования полигонов (предварительно «отжав» кнопку attach), находим когда-то оставленный нами полигон и удаляем его. Все, теперь уже не осталось ничего, что напоминало-бы нам о церковной робе.&lt;br /&gt;
&lt;br /&gt;
Вы должны закончить со всеми правками модели до того, как добавите модификатор Unwrap UVW. Если ваша модель выглядит грубой, то необходимо  исправить:&lt;br /&gt;
ПКМ -&amp;gt; converto to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld -&amp;gt; Convert to editable Mesh&lt;br /&gt;
&lt;br /&gt;
'''Note:'''Закончите все правки модели и материалов до следующего шага - после него все изменения не отобразятся на конечном результате и придется переделывать. &lt;br /&gt;
&lt;br /&gt;
В списке модификаторов нашей модели найдем Unwrap UVW и добавим его к нашей модели. Модель должна окраситься ярко зелеными линиями.&lt;br /&gt;
&lt;br /&gt;
Далее правой кнопкой мыши по списку модификаторов-&amp;gt;Paste. Список модификаторов должен стать таким (сверху-вниз: Skin, Edit Normals, Unwrap UVW)&lt;br /&gt;
&lt;br /&gt;
С самой моделью мы наконец закончили.&lt;br /&gt;
&lt;br /&gt;
== Export ==&lt;br /&gt;
&lt;br /&gt;
Для этого запускаем скрипт DAOModelExport. Нам предстанет вот так вот такое окно:&lt;br /&gt;
&lt;br /&gt;
[[File:Export.png|border]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Между Name и .MMH вписать hf_rob_chaa_0. Между Name и .MSH вписать тоже самое (если этого не сделалось автоматически). Отметить опцию Create MAO Material File. Все, теперь жмем Export. По окончании процесса экспорта в папке [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ должны появится пять новых файлов&lt;br /&gt;
hf_rob_chaa_0.phy&lt;br /&gt;
hf_rob_chaa_0.msh&lt;br /&gt;
hf_rob_chaa_0.mmh&lt;br /&gt;
hf_rob_chaa_0.met&lt;br /&gt;
pf_rob_chaz_0.mao&lt;br /&gt;
Там-же уже должны находится обе текстуры. Ну, вот собственно и все. Модель готова, можно запускать игру и смотреть результат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Addding custom shield ==&lt;br /&gt;
&lt;br /&gt;
Процесс тот же самый с разницей, что щиту не нужен rigging.&lt;br /&gt;
  &lt;br /&gt;
1) Импортируйте любой щит из игры. В отличие от брони тут не нужно следить за размером - ЛЮБОЙ щит подойдет.&lt;br /&gt;
&lt;br /&gt;
2) Импортируйте ваш щит в ту же сцену и погдгоните его размер к тому, что из игры.&lt;br /&gt;
&lt;br /&gt;
3) Сделайте из ващего нового щита ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. Collapse any active modifiers on the &amp;quot;new&amp;quot; item. Then add a new &amp;quot;unwrap UVW&amp;quot; modiefier to it, and double click it to open the UVW window. then drag and select everything you see there, and DRAG IT ANYWHERE OUTSIDE THE OUTLINED BOX IN THE CENTER. This will make life easier for you in step 6.&lt;br /&gt;
&lt;br /&gt;
4) Выберите щит из игры и выберете все модификаторы исключая &amp;quot;unwrap UVW&amp;quot;. ПКМ -&amp;gt;&amp;quot;cut&amp;quot;, а не удалить, потому что м ыбудем их использовать. Далее ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
5) Теперь &amp;quot;attach&amp;quot; щит из ДАО к вашему новому щиту. &lt;br /&gt;
&lt;br /&gt;
6) Добавть новый &amp;quot;unwrap uvw&amp;quot; к этому mesh. Проверьте все ли модификаторы на месте - press the &amp;quot;+&amp;quot; слева. Выберите &amp;quot;face&amp;quot;, и выберете все, что внутри the outlined box в середине. ПКМ &amp;quot;unwrap UVW&amp;quot; и выберете &amp;quot;collapse to&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
7) Потом нажмите &amp;quot;+&amp;quot; слева от слов &amp;quot;editable mesh&amp;quot;. Выберте &amp;quot;element&amp;quot; и удалите. Вставьте все модификаторы, которые мы вырезали на шаге 4.&lt;br /&gt;
&lt;br /&gt;
8) Добавьте текстуры и экспортируйте.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Customisation of original Dragon age armor]]&lt;br /&gt;
*[[Adding custom shield tutorial]]&lt;br /&gt;
*[[Adding custom level tutorial]] - Add your own level.&lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/423834-the-witcher-1-armors-in-da-origins/page-2#entry3544131 How to add new armor to DAO on English] &lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/1122450-loincloth-fashion/page-56#entry16909714 How to fix GDA conflict]&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/3974/? Item Variation ID spreadsheet modification]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19814</id>
		<title>Adding custom armor tutorial/ru</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19814"/>
				<updated>2017-07-19T08:34:58Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ходе этого туториала мы импортируем платье Кристины Веспуччи из Assassins Creed: Brotherhood в ДАО. Вернее из XNA Lara, потому что ничего другого я не нашел. Это платье я выбрал не случайно - в ходе его адаптации мы используем все те приемы, которые часто используются в этом процессе (&amp;quot;дырявая ткань&amp;quot; аля кружева, текстуры кложи, зависящие от кожи персонажа, многослойный материал и т.д.).Это будет всего-лишь реплейсер, заменитель. Заменять будем церковную робу - просто потому что ее легче всего достать (в прологе мага, например, или с Лелианы в Лотеринге). Ну чтож, приступим...&lt;br /&gt;
Инструменты, что нам понадобятся:&lt;br /&gt;
*3ds max (или бесплатная версия - gmax). 3ds max не старше 2011 года- скрипт по импорту не будет работать.&lt;br /&gt;
*Dragon Age Origins&lt;br /&gt;
*Dragon Age Toolset&lt;br /&gt;
*Adobe Photoshop&lt;br /&gt;
*Nvidia DDS Plugin&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] (плагин для 3ds max)&lt;br /&gt;
*Вы можете использовать эту программу [http://www.nexusmods.com/dragonage/mods/214/? GDA Editor] для файлов GDA типа.&lt;br /&gt;
*Движок не сможет работать с моделью больше 45 000 полигонов (Faces) и 30 000 вершин (Vertices).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Сделите за тем, куда вы устанавливаете все программы- program files(x86) для 32 битных программ на 64 bit компьютерах. Скрипт экспорта и сама игра должны быть в одной папке program files.&lt;br /&gt;
&lt;br /&gt;
Установка скрипта Eshme Import/Export: Startup, YAGG и DAOTools добавить в C(диск):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
Настройка. Если вы все сделали правильно, то при первом запуске возникнет окно с настройками. &lt;br /&gt;
&lt;br /&gt;
В Game Path должно быть указано папка с игрой аля C:\Program Files (x86)\Dragon Age, в Export Path папка Override в документах аля C:\Program Files (x86)\Dragon Age\packages\core\override. Наличие установленного тулсета самой последней версии  ОБЯЗАТЕЛЬНО. Сам тулсет должен быть установлен в папку с игрой и после этого вы сможете начать работу в 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures preparation ==&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся четыре: диффузная карта (основная, видимая текстура), нормал карта (однотонная рельефная карта), спекуляр карта (она помогает настроить освещение конкретно под модель) и тинт карта (она говорит двужку где кожа, а где не изменная ткань). Так как исходная модель содержит несколько материалов, то и наборов текстур тоже несколько. Это значит, что например диффузных карт будет тоже несколько.&lt;br /&gt;
Сначала переведем их в формат .DDS с помощью фотошопа. Помните, что размер текстур ВСЕГДА должен быть кратным 4: 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192.&lt;br /&gt;
&lt;br /&gt;
Diffuse map:&lt;br /&gt;
Кожа обязательно должна быть перведена в бледно-серый цвет, чтобы максимально корректно отображать цвет кожи. Должно получиться примерно так:&lt;br /&gt;
 &lt;br /&gt;
[[File:Skin1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
В альфа канале (если его нету, то создаем его с названием Alpha 1) выделяем черным те области, которые будут &amp;quot;дырками&amp;quot;, белое так и останется не прозрачным. Получиться должно нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Normal map: &lt;br /&gt;
Нужно перенести текстуру в монотонно серый. Помимо этого, нужно еще изменить изображение альфа-канала на идентичный зеленому каналу. Должно получится нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Spectacular map:&lt;br /&gt;
Почти ничем не отличается от диффузной, только чуть более темней. Элементы с кожей в обязательном порядке нужно модифицировать. Цвет нужно изменить на темно-красный, почти черный. Саму область нужно подвергнуть обработке: image-&amp;gt; adjustments -&amp;gt;brightness/contrast значение выставлять примерно такие brightness -45, contrast 95. В итоге кожа должна стать примерно такой:&lt;br /&gt;
&lt;br /&gt;
[[File:Spectacularex.png|border]]&lt;br /&gt;
&lt;br /&gt;
* Note: В альфа канал спекуляр карты нужно просто скопировать синий канал. '''Делать это нужно уже после того, как разберетесь с участками кожи.'''Чем больше белого на текстуре _s тем больше и интенсивней будет блеск.&lt;br /&gt;
&lt;br /&gt;
Tint map:&lt;br /&gt;
* '''Note: Не нужна вам если на вашей броне нет участков кожи'''&lt;br /&gt;
Самая простая текстура - работать будет только в альфа канале. Всю текстуру полностью залейте черным цветом. В альфа канале нужно будет сделать примерно тоже самое, что мы уже проделали с альфа каналом диффузной карты, только на этот раз черным будут зоны, которые будут менять тон в соответствии с кожей персонажа, а белые оставаться не изменными. Эта тесктура полностью залита черным потому, что она полностью покрывает кожу и участки, а значит и выделываться здесь смысла нет. То есть да - конкретно в нашем случае должна получиться полностью черная текстура - все четыре канала залиты черным.&lt;br /&gt;
&lt;br /&gt;
== Connecting textures ==&lt;br /&gt;
Cоединение текстур. Как я уже упомянал, платье Кристины Веспуччи содержит несколько материалов. Движок ДАО может поддерживать только один материал, а значит нам придется все текстуры объединить.&lt;br /&gt;
Самое главное в том, что один раз определившись порядком текстур, нужно придерживаться его постоянно. В общем, нам нужно выстроить примерно такую конструкцию:&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
'''*Note: Запомните положение текстур, оно вам понадобится при объединении материалов в 3ds Max.'''Тоже самое и для остальных карт (нормали, спекуляр и тинт). Альфа каналы выстраиваем так же. Размер текстур должен быть кратным 4.&lt;br /&gt;
&lt;br /&gt;
== Save textures ==&lt;br /&gt;
&lt;br /&gt;
Текстуры нужно сохранять с такими настройками: &lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Normal map:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Все, на этом в фотошопе закончено. Можно его закрывать. Переименуйте текстуры в hf_rob_chaz_0n.dds (normal-текстура), hf_rob_chaz_0d (diffuse-текстура), hf_rob_chaz_0s (спекуляр) и hf_rob_chaz_0t (тинт карта). Сами текстуры уже можно переместить в папку [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
&lt;br /&gt;
== Names ==&lt;br /&gt;
Очень важно для GDA. &lt;br /&gt;
Текстуры надо называть так: [принадлежность полу-расе]_[тип брони\одежды]_[уникальный индекс из 4 букв]_0[тип текстуры].&lt;br /&gt;
Принадлежность полу расе обозначается так:&lt;br /&gt;
*hf- жен. человек&lt;br /&gt;
*hm- муж. человек&lt;br /&gt;
*ef- жен. эльф&lt;br /&gt;
*em- муж. эльф&lt;br /&gt;
*df- жен. гном&lt;br /&gt;
*dm- муж. гном&lt;br /&gt;
*qm- кунари-мужик&lt;br /&gt;
Броня:&lt;br /&gt;
*arm - броня&lt;br /&gt;
*rob - роба (мага, церковника)&lt;br /&gt;
*cth - одежда (дворянина, свадебная)&lt;br /&gt;
Helmets:&lt;br /&gt;
*hlh - for mages.&lt;br /&gt;
*hlf - massive ones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Уникальный индекс можете выбрать любой. Главное помните - не больше 4 букв и не занятый другой вещью.'''&lt;br /&gt;
&lt;br /&gt;
Типов текстур 5:&lt;br /&gt;
*d - диффузная (Duffise)&lt;br /&gt;
*n - нормаль (Normal)&lt;br /&gt;
*s - спекуляр (Spectacular)&lt;br /&gt;
*t - тинт (Tint)&lt;br /&gt;
*e - эммиссив (Emissive) Нужна для свечения аля скай-фай броня. В дао почти не используется)&lt;br /&gt;
В итоге должно получиться нечто вроде такого: hf_rob_xmpl_0d или em_arm_exmp_0n. &lt;br /&gt;
'''*NOTE: Сам материал (название материала в максе, потом это будет MAO файл) именуем также, только без типа текстуры. Например: hf_rob_xmpl или em_arm_exmp. Модель именуется так-же, только с цифрой детализации в конце: hf_rob_xmpl_0 или em_arm_exmp_0'''&lt;br /&gt;
&lt;br /&gt;
== 3D MAX ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Если ваша броня выглядит слишком &amp;quot;грубой&amp;quot;, то это можно исправить ПКМ-&amp;gt; Convert to Edit Poly -&amp;gt; Режим Vertex на панели справа -&amp;gt; press button Weld (Vertexes) на панели справа. Можно там же использовать и Smooth, но будьте осторожны- это добавит новые полигоны ваша модель может не подойти для движка.'''&lt;br /&gt;
&lt;br /&gt;
В ходе адаптации модели нам понадобится максимально похожий образец из оригинальной игры. В моем случае я выбрал церковную робу (hf_rob_chaa) – этакий универсальный образец, который подходит для большинства случаев. В Toolset’е откроем архивы modelhierarchies.erf materialobjects.erf modelmeshdata.erf (найти их можно по даресу [имя_диска_с_игрой]: \Dragon Age\packages\core\data). Так-же откроем архив texturepack.erf находящийся по адресу [имя_диска_с_игрой]:\Dragon Age\packages\core\textures\high. В этих архивах находим файлы&lt;br /&gt;
hf_rob_chaa_0.mmh, hf_rob_chaa_0.phy (modelhierarchies.erf)&lt;br /&gt;
hf_rob_chaa_0.msh (modelmeshdata.erf)&lt;br /&gt;
pf_rob_chaa.mao (materialobjects.erf)&lt;br /&gt;
pf_rob_chaa_0d.dds, pf_rob_chaa_0n.dds, pf_rob_chaa_0s.dds, pf_rob_chaa_0t.dds (texturepack.erf)&lt;br /&gt;
и распаковываем в отдельную папку. Всего на выходе должно получится 8 файлов.&lt;br /&gt;
&lt;br /&gt;
А теперь перейдем в 3ds max. Прежде, чем приступить непосредственно к конвентированию, настроим плагин для 3ds max. Мне гораздо удобнее запускать сразу скрипты, чем захламлять разными кнопками рабочее пространство редактора. Для запуска конфигуратора запустим скрипт (Max Script-&amp;gt;Run Script) DAOToolsSetup находящийся по адресу C:\Program Files\Autodesk\3dsMax8\Scripts\DAOTools.&lt;br /&gt;
&lt;br /&gt;
Итак, приступим, к настройке. В строке Game Path указываем адрес к папке с игрой. В Export Path указываем, куда будут сохранятся экспортированные файлы. Т.к. наша модель будет заменять уже имеющуюся, то укажем там адрес [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ Ползунок World Scale ставим на значение 100. Дело в том, что в своем «естественном» виде, модели ДА очень маленькие. Для комфортной работы с ними нужно увеличить их в 100 (сто) раз. Эта функция как раз создана для того, чтобы на время работы увеличивать модель в удобный размер, а экспортируя обратно возвращая к естественным размерам. Все остальное оставляем нетронутым и нажимаем ОК. Конфигуратор перед закрытием проинформирует нас о возможности в любой момент изменить настройки, не пугайтесь выскочившего окна.&lt;br /&gt;
&lt;br /&gt;
И вот наконец теперь можно заняться непосредственно конвертированием. В окне редактора у нас должна уже быть открыта сама модель. Следующее, что нам нужно сделать, это загрузить оригинальную модель из ДАО. Для этого запускаем скрипт DAOImport. В пункте File секции Model Import указываем месторасположение недавно вытащенного нами .mmh файла (hf_rob_chaa_0.mmh). Нажимаем на кнопку Import, специальное окно известит нас о готовности к импорту, жмем ОК и ждем 5-30 секунд (в зависимости от мощности компьютера) пока загрузится модель.&lt;br /&gt;
&lt;br /&gt;
Для начала скроем все, что нам в данный момент не понадобится. Откроем Schematic View (Graph Editors-&amp;gt; New Schematic View) &lt;br /&gt;
&lt;br /&gt;
Здесь можно увидеть две большие древовидные структуры – это обе наши модели с их иерархией. Полностью выделим структуру оригинальной модели (легко определить по наличию в ней зеленых элементов). Сворачиваем Schematic View. В основном рабочем окне можно увидеть, что выделена оригинальная игровая модель и все ее элементы &lt;br /&gt;
&lt;br /&gt;
Теперь снимем выделение с самой робы, так чтобы выделенными остались лишь второстепенные элементы. Скроем их, чтобы не мешались, они нам все-равно не понадобятся. Для этого нажмем по пустому пространству рабочей области правой кнопкой мыши-&amp;gt;hide selection. Теперь осталось только зафиксировать оригинальную модель. Для этого выделяем ее и правой кнопкой мыши-&amp;gt;properties.&lt;br /&gt;
Поставьте напротив опции Freeze секции interactivity, уберите напротив опции Show Frozen in Gray секции display Properties соответственно. Все, теперь оригинальная модель зафиксирована и защищена от случайных манипуляций.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подогнать модель платья Кристины под габариты игровой робы. Желательно сделать это как можно точнее. Для трансформации модели лучше всего воздействовать на ее кости, так гораздо удобнее. Масштабируем, поворачиваем и двигаем кости так, чтобы модель ровно легла в очертания оригинальной робы. Разводим руки, сводим ноги – процесс нужно делать на «глазок».&lt;br /&gt;
&lt;br /&gt;
== Working with materials ==&lt;br /&gt;
*NOTE: Работать с материалами нужно до риггинга. Иначе будут проблемы.&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Важное отступление - если ваша модель полностью покрывается одной текстурой, то ничего из нижеописанного вам проделывать не нужно.&lt;br /&gt;
Сейчас нам нужно объединить несколько материалов в один. Процесс не тривиальный. Итак, когда вы откроете редактор координат, то увидите вот такую картину:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Зеленые линии - это координаты модели на текстуре. Многие игровые движки используют все пространство редактора, но не ДАО. Наша игра не видит ничего за границами выделенного квадрата. Наша задача - передвинуть все координаты во внутрь этого квадрата. Во вкладке All ID's можно выбирать отдельные материалы и двигать их. Наложите текстуру, которую вы создали в фотошопе и согласно ее контурам отмасштабируте и перенесите ее на соответствующее место. Тоже самое нужно бьудет проделать и со всеми сетами материалов, чтобы в конце-концов получилось что-то вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
После этого можно закрывать редактор координат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Continue working with materials ==&lt;br /&gt;
&lt;br /&gt;
На верхней панели инструментов найдем кнопку редактора метериалов (четыре разноцветных шара) &lt;br /&gt;
Далее нажимаем Get Material и выбираем из списка Dragon Age Material (если плагин установлен правильно, то он в списке будет) &lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
&lt;br /&gt;
В Material Type указываем Character, в Render Semantics – [Armor w / Skin Tint][Alpha Blending][No Emissive]. Разворачиваем список Texture Maps и назначаем соответствующие текстуры. Далее Assign Material to Selection (платье должно быть выделенным). Если так хочется увидеть текстуру в редакторе, то жмем Show Map in Viewport. Осталось только дать нашему материалу нормальное имя. В соответствующем поле введем pf_rob_chaz_0. Вот и все.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Rigging ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Как только наша модель полностью ляжет в очертания оригинальной робы, можно приступать к следующей фазе &lt;br /&gt;
Выделим нашу модель, правой кнопкой мыши по пустому месту-&amp;gt;Convert To-&amp;gt; Convert To Editable Mesh.&lt;br /&gt;
Теперь полностью выделяем все объекты, снимаем выделение с самой модели платья Кристины (выделеными должны остаться все объекты КРОМЕ платья Кристины) и удаляем. Должны остаться только церковная роба и платье Кристины. Далее правой кнопкой мыши по пустому месту-&amp;gt;Unfreeze All. Это разморозит оригинальную робу, сделав ее доступной для редактирования. Затем в списке ее модификаторов выделим Skin и Edit Normals (с зажатым CTRL). Правой кнопкой мыши по ним-&amp;gt;Cut. Из списка модификаторов они должны исчезнуть. Далее правой кнопкой мыши по пустому месту рабочего пространства-&amp;gt;Convert To-&amp;gt;Convert To Editable Mesh. Это низведет оригинальную робу в тоже состояние, в котором сейчас пребывает и платье Кристины.&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем в режим редактирования полигонов &lt;br /&gt;
&lt;br /&gt;
[[File:Polygon.png|border]]&lt;br /&gt;
 &lt;br /&gt;
Нажмите CTL+ A Вся оригинальная роба должна окраситься в красный цвет выделения. Далее нужно снять выделение с одного-единственного полигона (делается с зажатой клавишей ALT). Какого именно – неважно, главное чтобы он был на виду и до него было просто добраться. Я выбрал один у самых ног. Все, что теперь нужно сделать – нажать кнопку Delete. Это удалит всю модель, кроме одного оставленного нами полигона. Теперь нам нужно прирастить к этому полигону платье Кристины. Для этого выберем на панели инструментов справа кнопку Attach  и нажмем мышью на скафандр. Появится окно, выбрать опцию Match Material to Material IDs. Жмем ОК. Теперь нужно убрать последний полигон оригинальной робы. Вновь переходим в режим редактирования полигонов (предварительно «отжав» кнопку attach), находим когда-то оставленный нами полигон и удаляем его. Все, теперь уже не осталось ничего, что напоминало-бы нам о церковной робе.&lt;br /&gt;
&lt;br /&gt;
Вы должны закончить со всеми правками модели до того, как добавите модификатор Unwrap UVW. Если ваша модель выглядит грубой, то необходимо  исправить:&lt;br /&gt;
ПКМ -&amp;gt; converto to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld -&amp;gt; Convert to editable Mesh&lt;br /&gt;
&lt;br /&gt;
'''Note:'''Закончите все правки модели и материалов до следующего шага - после него все изменения не отобразятся на конечном результате и придется переделывать. &lt;br /&gt;
&lt;br /&gt;
В списке модификаторов нашей модели найдем Unwrap UVW и добавим его к нашей модели. Модель должна окраситься ярко зелеными линиями.&lt;br /&gt;
&lt;br /&gt;
Далее правой кнопкой мыши по списку модификаторов-&amp;gt;Paste. Список модификаторов должен стать таким (сверху-вниз: Skin, Edit Normals, Unwrap UVW)&lt;br /&gt;
&lt;br /&gt;
С самой моделью мы наконец закончили.&lt;br /&gt;
&lt;br /&gt;
== Export ==&lt;br /&gt;
&lt;br /&gt;
Для этого запускаем скрипт DAOModelExport. Нам предстанет вот так вот такое окно:&lt;br /&gt;
&lt;br /&gt;
[[File:Export.png|border]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Между Name и .MMH вписать hf_rob_chaa_0. Между Name и .MSH вписать тоже самое (если этого не сделалось автоматически). Отметить опцию Create MAO Material File. Все, теперь жмем Export. По окончании процесса экспорта в папке [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ должны появится пять новых файлов&lt;br /&gt;
hf_rob_chaa_0.phy&lt;br /&gt;
hf_rob_chaa_0.msh&lt;br /&gt;
hf_rob_chaa_0.mmh&lt;br /&gt;
hf_rob_chaa_0.met&lt;br /&gt;
pf_rob_chaz_0.mao&lt;br /&gt;
Там-же уже должны находится обе текстуры. Ну, вот собственно и все. Модель готова, можно запускать игру и смотреть результат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Addding custom shield ==&lt;br /&gt;
&lt;br /&gt;
Процесс тот же самый с разницей, что щиту не нужен rigging.&lt;br /&gt;
  &lt;br /&gt;
1) Импортируйте любой щит из игры. В отличие от брони тут не нужно следить за размером - ЛЮБОЙ щит подойдет.&lt;br /&gt;
&lt;br /&gt;
2) Импортируйте ваш щит в ту же сцену и погдгоните его размер к тому, что из игры.&lt;br /&gt;
&lt;br /&gt;
3) Сделайте из ващего нового щита ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. Collapse any active modifiers on the &amp;quot;new&amp;quot; item. Then add a new &amp;quot;unwrap UVW&amp;quot; modiefier to it, and double click it to open the UVW window. then drag and select everything you see there, and DRAG IT ANYWHERE OUTSIDE THE OUTLINED BOX IN THE CENTER. This will make life easier for you in step 6.&lt;br /&gt;
&lt;br /&gt;
4) Выберите щит из игры и выберете все модификаторы исключая &amp;quot;unwrap UVW&amp;quot;. ПКМ -&amp;gt;&amp;quot;cut&amp;quot;, а не удалить, потому что м ыбудем их использовать. Далее ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
5) Теперь &amp;quot;attach&amp;quot; щит из ДАО к вашему новому щиту. &lt;br /&gt;
&lt;br /&gt;
6) Добавть новый &amp;quot;unwrap uvw&amp;quot; к этому mesh. Проверьте все ли модификаторы на месте - press the &amp;quot;+&amp;quot; слева. Выберите &amp;quot;face&amp;quot;, и выберете все, что внутри the outlined box в середине. ПКМ &amp;quot;unwrap UVW&amp;quot; и выберете &amp;quot;collapse to&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
7) Потом нажмите &amp;quot;+&amp;quot; слева от слов &amp;quot;editable mesh&amp;quot;. Выберте &amp;quot;element&amp;quot; и удалите. Вставьте все модификаторы, которые мы вырезали на шаге 4.&lt;br /&gt;
&lt;br /&gt;
8) Добавьте текстуры и экспортируйте.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Customisation of original Dragon age armor]]&lt;br /&gt;
*[[Adding custom shield tutorial]]&lt;br /&gt;
*[[Adding custom level tutorial]] - Add your own level.&lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/423834-the-witcher-1-armors-in-da-origins/page-2#entry3544131 How to add new armor to DAO on English] &lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/1122450-loincloth-fashion/page-56#entry16909714 How to fix GDA conflict]&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/3974/? Item Variation ID spreadsheet modification]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19813</id>
		<title>Adding custom armor tutorial/ru</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_armor_tutorial/ru&amp;diff=19813"/>
				<updated>2017-07-19T08:34:42Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ходе этого туториала мы импортируем платье Кристины Веспуччи из Assassins Creed: Brotherhood в ДАО. Вернее из XNA Lara, потому что ничего другого я не нашел. Это платье я выбрал не случайно - в ходе его адаптации мы используем все те приемы, которые часто используются в этом процессе (&amp;quot;дырявая ткань&amp;quot; аля кружева, текстуры кложи, зависящие от кожи персонажа, многослойный материал и т.д.).Это будет всего-лишь реплейсер, заменитель. Заменять будем церковную робу - просто потому что ее легче всего достать (в прологе мага, например, или с Лелианы в Лотеринге). Ну чтож, приступим...&lt;br /&gt;
Инструменты, что нам понадобятся:&lt;br /&gt;
*3ds max (или бесплатная версия - gmax). 3ds max не старше 2011 года- скрипт по импорту не будет работать.&lt;br /&gt;
*Dragon Age Origins&lt;br /&gt;
*Dragon Age Toolset&lt;br /&gt;
*Adobe Photoshop&lt;br /&gt;
*Nvidia DDS Plugin&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] (плагин для 3ds max)&lt;br /&gt;
*Вы можете использовать эту программу [http://www.nexusmods.com/dragonage/mods/214/? GDA Editor] для файлов GDA типа.&lt;br /&gt;
*Движок не сможет работать с моделью больше 45 000 полигонов (Faces) и 30 000 вершин (Verticles).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Сделите за тем, куда вы устанавливаете все программы- program files(x86) для 32 битных программ на 64 bit компьютерах. Скрипт экспорта и сама игра должны быть в одной папке program files.&lt;br /&gt;
&lt;br /&gt;
Установка скрипта Eshme Import/Export: Startup, YAGG и DAOTools добавить в C(диск):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
Настройка. Если вы все сделали правильно, то при первом запуске возникнет окно с настройками. &lt;br /&gt;
&lt;br /&gt;
В Game Path должно быть указано папка с игрой аля C:\Program Files (x86)\Dragon Age, в Export Path папка Override в документах аля C:\Program Files (x86)\Dragon Age\packages\core\override. Наличие установленного тулсета самой последней версии  ОБЯЗАТЕЛЬНО. Сам тулсет должен быть установлен в папку с игрой и после этого вы сможете начать работу в 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures preparation ==&lt;br /&gt;
&lt;br /&gt;
Нам понадобятся четыре: диффузная карта (основная, видимая текстура), нормал карта (однотонная рельефная карта), спекуляр карта (она помогает настроить освещение конкретно под модель) и тинт карта (она говорит двужку где кожа, а где не изменная ткань). Так как исходная модель содержит несколько материалов, то и наборов текстур тоже несколько. Это значит, что например диффузных карт будет тоже несколько.&lt;br /&gt;
Сначала переведем их в формат .DDS с помощью фотошопа. Помните, что размер текстур ВСЕГДА должен быть кратным 4: 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192.&lt;br /&gt;
&lt;br /&gt;
Diffuse map:&lt;br /&gt;
Кожа обязательно должна быть перведена в бледно-серый цвет, чтобы максимально корректно отображать цвет кожи. Должно получиться примерно так:&lt;br /&gt;
 &lt;br /&gt;
[[File:Skin1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
В альфа канале (если его нету, то создаем его с названием Alpha 1) выделяем черным те области, которые будут &amp;quot;дырками&amp;quot;, белое так и останется не прозрачным. Получиться должно нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Normal map: &lt;br /&gt;
Нужно перенести текстуру в монотонно серый. Помимо этого, нужно еще изменить изображение альфа-канала на идентичный зеленому каналу. Должно получится нечто вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
Spectacular map:&lt;br /&gt;
Почти ничем не отличается от диффузной, только чуть более темней. Элементы с кожей в обязательном порядке нужно модифицировать. Цвет нужно изменить на темно-красный, почти черный. Саму область нужно подвергнуть обработке: image-&amp;gt; adjustments -&amp;gt;brightness/contrast значение выставлять примерно такие brightness -45, contrast 95. В итоге кожа должна стать примерно такой:&lt;br /&gt;
&lt;br /&gt;
[[File:Spectacularex.png|border]]&lt;br /&gt;
&lt;br /&gt;
* Note: В альфа канал спекуляр карты нужно просто скопировать синий канал. '''Делать это нужно уже после того, как разберетесь с участками кожи.'''Чем больше белого на текстуре _s тем больше и интенсивней будет блеск.&lt;br /&gt;
&lt;br /&gt;
Tint map:&lt;br /&gt;
* '''Note: Не нужна вам если на вашей броне нет участков кожи'''&lt;br /&gt;
Самая простая текстура - работать будет только в альфа канале. Всю текстуру полностью залейте черным цветом. В альфа канале нужно будет сделать примерно тоже самое, что мы уже проделали с альфа каналом диффузной карты, только на этот раз черным будут зоны, которые будут менять тон в соответствии с кожей персонажа, а белые оставаться не изменными. Эта тесктура полностью залита черным потому, что она полностью покрывает кожу и участки, а значит и выделываться здесь смысла нет. То есть да - конкретно в нашем случае должна получиться полностью черная текстура - все четыре канала залиты черным.&lt;br /&gt;
&lt;br /&gt;
== Connecting textures ==&lt;br /&gt;
Cоединение текстур. Как я уже упомянал, платье Кристины Веспуччи содержит несколько материалов. Движок ДАО может поддерживать только один материал, а значит нам придется все текстуры объединить.&lt;br /&gt;
Самое главное в том, что один раз определившись порядком текстур, нужно придерживаться его постоянно. В общем, нам нужно выстроить примерно такую конструкцию:&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
'''*Note: Запомните положение текстур, оно вам понадобится при объединении материалов в 3ds Max.'''Тоже самое и для остальных карт (нормали, спекуляр и тинт). Альфа каналы выстраиваем так же. Размер текстур должен быть кратным 4.&lt;br /&gt;
&lt;br /&gt;
== Save textures ==&lt;br /&gt;
&lt;br /&gt;
Текстуры нужно сохранять с такими настройками: &lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Normal map:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
Все, на этом в фотошопе закончено. Можно его закрывать. Переименуйте текстуры в hf_rob_chaz_0n.dds (normal-текстура), hf_rob_chaz_0d (diffuse-текстура), hf_rob_chaz_0s (спекуляр) и hf_rob_chaz_0t (тинт карта). Сами текстуры уже можно переместить в папку [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\&lt;br /&gt;
&lt;br /&gt;
== Names ==&lt;br /&gt;
Очень важно для GDA. &lt;br /&gt;
Текстуры надо называть так: [принадлежность полу-расе]_[тип брони\одежды]_[уникальный индекс из 4 букв]_0[тип текстуры].&lt;br /&gt;
Принадлежность полу расе обозначается так:&lt;br /&gt;
*hf- жен. человек&lt;br /&gt;
*hm- муж. человек&lt;br /&gt;
*ef- жен. эльф&lt;br /&gt;
*em- муж. эльф&lt;br /&gt;
*df- жен. гном&lt;br /&gt;
*dm- муж. гном&lt;br /&gt;
*qm- кунари-мужик&lt;br /&gt;
Броня:&lt;br /&gt;
*arm - броня&lt;br /&gt;
*rob - роба (мага, церковника)&lt;br /&gt;
*cth - одежда (дворянина, свадебная)&lt;br /&gt;
Helmets:&lt;br /&gt;
*hlh - for mages.&lt;br /&gt;
*hlf - massive ones.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Уникальный индекс можете выбрать любой. Главное помните - не больше 4 букв и не занятый другой вещью.'''&lt;br /&gt;
&lt;br /&gt;
Типов текстур 5:&lt;br /&gt;
*d - диффузная (Duffise)&lt;br /&gt;
*n - нормаль (Normal)&lt;br /&gt;
*s - спекуляр (Spectacular)&lt;br /&gt;
*t - тинт (Tint)&lt;br /&gt;
*e - эммиссив (Emissive) Нужна для свечения аля скай-фай броня. В дао почти не используется)&lt;br /&gt;
В итоге должно получиться нечто вроде такого: hf_rob_xmpl_0d или em_arm_exmp_0n. &lt;br /&gt;
'''*NOTE: Сам материал (название материала в максе, потом это будет MAO файл) именуем также, только без типа текстуры. Например: hf_rob_xmpl или em_arm_exmp. Модель именуется так-же, только с цифрой детализации в конце: hf_rob_xmpl_0 или em_arm_exmp_0'''&lt;br /&gt;
&lt;br /&gt;
== 3D MAX ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Если ваша броня выглядит слишком &amp;quot;грубой&amp;quot;, то это можно исправить ПКМ-&amp;gt; Convert to Edit Poly -&amp;gt; Режим Vertex на панели справа -&amp;gt; press button Weld (Vertexes) на панели справа. Можно там же использовать и Smooth, но будьте осторожны- это добавит новые полигоны ваша модель может не подойти для движка.'''&lt;br /&gt;
&lt;br /&gt;
В ходе адаптации модели нам понадобится максимально похожий образец из оригинальной игры. В моем случае я выбрал церковную робу (hf_rob_chaa) – этакий универсальный образец, который подходит для большинства случаев. В Toolset’е откроем архивы modelhierarchies.erf materialobjects.erf modelmeshdata.erf (найти их можно по даресу [имя_диска_с_игрой]: \Dragon Age\packages\core\data). Так-же откроем архив texturepack.erf находящийся по адресу [имя_диска_с_игрой]:\Dragon Age\packages\core\textures\high. В этих архивах находим файлы&lt;br /&gt;
hf_rob_chaa_0.mmh, hf_rob_chaa_0.phy (modelhierarchies.erf)&lt;br /&gt;
hf_rob_chaa_0.msh (modelmeshdata.erf)&lt;br /&gt;
pf_rob_chaa.mao (materialobjects.erf)&lt;br /&gt;
pf_rob_chaa_0d.dds, pf_rob_chaa_0n.dds, pf_rob_chaa_0s.dds, pf_rob_chaa_0t.dds (texturepack.erf)&lt;br /&gt;
и распаковываем в отдельную папку. Всего на выходе должно получится 8 файлов.&lt;br /&gt;
&lt;br /&gt;
А теперь перейдем в 3ds max. Прежде, чем приступить непосредственно к конвентированию, настроим плагин для 3ds max. Мне гораздо удобнее запускать сразу скрипты, чем захламлять разными кнопками рабочее пространство редактора. Для запуска конфигуратора запустим скрипт (Max Script-&amp;gt;Run Script) DAOToolsSetup находящийся по адресу C:\Program Files\Autodesk\3dsMax8\Scripts\DAOTools.&lt;br /&gt;
&lt;br /&gt;
Итак, приступим, к настройке. В строке Game Path указываем адрес к папке с игрой. В Export Path указываем, куда будут сохранятся экспортированные файлы. Т.к. наша модель будет заменять уже имеющуюся, то укажем там адрес [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ Ползунок World Scale ставим на значение 100. Дело в том, что в своем «естественном» виде, модели ДА очень маленькие. Для комфортной работы с ними нужно увеличить их в 100 (сто) раз. Эта функция как раз создана для того, чтобы на время работы увеличивать модель в удобный размер, а экспортируя обратно возвращая к естественным размерам. Все остальное оставляем нетронутым и нажимаем ОК. Конфигуратор перед закрытием проинформирует нас о возможности в любой момент изменить настройки, не пугайтесь выскочившего окна.&lt;br /&gt;
&lt;br /&gt;
И вот наконец теперь можно заняться непосредственно конвертированием. В окне редактора у нас должна уже быть открыта сама модель. Следующее, что нам нужно сделать, это загрузить оригинальную модель из ДАО. Для этого запускаем скрипт DAOImport. В пункте File секции Model Import указываем месторасположение недавно вытащенного нами .mmh файла (hf_rob_chaa_0.mmh). Нажимаем на кнопку Import, специальное окно известит нас о готовности к импорту, жмем ОК и ждем 5-30 секунд (в зависимости от мощности компьютера) пока загрузится модель.&lt;br /&gt;
&lt;br /&gt;
Для начала скроем все, что нам в данный момент не понадобится. Откроем Schematic View (Graph Editors-&amp;gt; New Schematic View) &lt;br /&gt;
&lt;br /&gt;
Здесь можно увидеть две большие древовидные структуры – это обе наши модели с их иерархией. Полностью выделим структуру оригинальной модели (легко определить по наличию в ней зеленых элементов). Сворачиваем Schematic View. В основном рабочем окне можно увидеть, что выделена оригинальная игровая модель и все ее элементы &lt;br /&gt;
&lt;br /&gt;
Теперь снимем выделение с самой робы, так чтобы выделенными остались лишь второстепенные элементы. Скроем их, чтобы не мешались, они нам все-равно не понадобятся. Для этого нажмем по пустому пространству рабочей области правой кнопкой мыши-&amp;gt;hide selection. Теперь осталось только зафиксировать оригинальную модель. Для этого выделяем ее и правой кнопкой мыши-&amp;gt;properties.&lt;br /&gt;
Поставьте напротив опции Freeze секции interactivity, уберите напротив опции Show Frozen in Gray секции display Properties соответственно. Все, теперь оригинальная модель зафиксирована и защищена от случайных манипуляций.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно подогнать модель платья Кристины под габариты игровой робы. Желательно сделать это как можно точнее. Для трансформации модели лучше всего воздействовать на ее кости, так гораздо удобнее. Масштабируем, поворачиваем и двигаем кости так, чтобы модель ровно легла в очертания оригинальной робы. Разводим руки, сводим ноги – процесс нужно делать на «глазок».&lt;br /&gt;
&lt;br /&gt;
== Working with materials ==&lt;br /&gt;
*NOTE: Работать с материалами нужно до риггинга. Иначе будут проблемы.&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Важное отступление - если ваша модель полностью покрывается одной текстурой, то ничего из нижеописанного вам проделывать не нужно.&lt;br /&gt;
Сейчас нам нужно объединить несколько материалов в один. Процесс не тривиальный. Итак, когда вы откроете редактор координат, то увидите вот такую картину:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Зеленые линии - это координаты модели на текстуре. Многие игровые движки используют все пространство редактора, но не ДАО. Наша игра не видит ничего за границами выделенного квадрата. Наша задача - передвинуть все координаты во внутрь этого квадрата. Во вкладке All ID's можно выбирать отдельные материалы и двигать их. Наложите текстуру, которую вы создали в фотошопе и согласно ее контурам отмасштабируте и перенесите ее на соответствующее место. Тоже самое нужно бьудет проделать и со всеми сетами материалов, чтобы в конце-концов получилось что-то вроде этого:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
После этого можно закрывать редактор координат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Continue working with materials ==&lt;br /&gt;
&lt;br /&gt;
На верхней панели инструментов найдем кнопку редактора метериалов (четыре разноцветных шара) &lt;br /&gt;
Далее нажимаем Get Material и выбираем из списка Dragon Age Material (если плагин установлен правильно, то он в списке будет) &lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
&lt;br /&gt;
В Material Type указываем Character, в Render Semantics – [Armor w / Skin Tint][Alpha Blending][No Emissive]. Разворачиваем список Texture Maps и назначаем соответствующие текстуры. Далее Assign Material to Selection (платье должно быть выделенным). Если так хочется увидеть текстуру в редакторе, то жмем Show Map in Viewport. Осталось только дать нашему материалу нормальное имя. В соответствующем поле введем pf_rob_chaz_0. Вот и все.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Rigging ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Как только наша модель полностью ляжет в очертания оригинальной робы, можно приступать к следующей фазе &lt;br /&gt;
Выделим нашу модель, правой кнопкой мыши по пустому месту-&amp;gt;Convert To-&amp;gt; Convert To Editable Mesh.&lt;br /&gt;
Теперь полностью выделяем все объекты, снимаем выделение с самой модели платья Кристины (выделеными должны остаться все объекты КРОМЕ платья Кристины) и удаляем. Должны остаться только церковная роба и платье Кристины. Далее правой кнопкой мыши по пустому месту-&amp;gt;Unfreeze All. Это разморозит оригинальную робу, сделав ее доступной для редактирования. Затем в списке ее модификаторов выделим Skin и Edit Normals (с зажатым CTRL). Правой кнопкой мыши по ним-&amp;gt;Cut. Из списка модификаторов они должны исчезнуть. Далее правой кнопкой мыши по пустому месту рабочего пространства-&amp;gt;Convert To-&amp;gt;Convert To Editable Mesh. Это низведет оригинальную робу в тоже состояние, в котором сейчас пребывает и платье Кристины.&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем в режим редактирования полигонов &lt;br /&gt;
&lt;br /&gt;
[[File:Polygon.png|border]]&lt;br /&gt;
 &lt;br /&gt;
Нажмите CTL+ A Вся оригинальная роба должна окраситься в красный цвет выделения. Далее нужно снять выделение с одного-единственного полигона (делается с зажатой клавишей ALT). Какого именно – неважно, главное чтобы он был на виду и до него было просто добраться. Я выбрал один у самых ног. Все, что теперь нужно сделать – нажать кнопку Delete. Это удалит всю модель, кроме одного оставленного нами полигона. Теперь нам нужно прирастить к этому полигону платье Кристины. Для этого выберем на панели инструментов справа кнопку Attach  и нажмем мышью на скафандр. Появится окно, выбрать опцию Match Material to Material IDs. Жмем ОК. Теперь нужно убрать последний полигон оригинальной робы. Вновь переходим в режим редактирования полигонов (предварительно «отжав» кнопку attach), находим когда-то оставленный нами полигон и удаляем его. Все, теперь уже не осталось ничего, что напоминало-бы нам о церковной робе.&lt;br /&gt;
&lt;br /&gt;
Вы должны закончить со всеми правками модели до того, как добавите модификатор Unwrap UVW. Если ваша модель выглядит грубой, то необходимо  исправить:&lt;br /&gt;
ПКМ -&amp;gt; converto to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld -&amp;gt; Convert to editable Mesh&lt;br /&gt;
&lt;br /&gt;
'''Note:'''Закончите все правки модели и материалов до следующего шага - после него все изменения не отобразятся на конечном результате и придется переделывать. &lt;br /&gt;
&lt;br /&gt;
В списке модификаторов нашей модели найдем Unwrap UVW и добавим его к нашей модели. Модель должна окраситься ярко зелеными линиями.&lt;br /&gt;
&lt;br /&gt;
Далее правой кнопкой мыши по списку модификаторов-&amp;gt;Paste. Список модификаторов должен стать таким (сверху-вниз: Skin, Edit Normals, Unwrap UVW)&lt;br /&gt;
&lt;br /&gt;
С самой моделью мы наконец закончили.&lt;br /&gt;
&lt;br /&gt;
== Export ==&lt;br /&gt;
&lt;br /&gt;
Для этого запускаем скрипт DAOModelExport. Нам предстанет вот так вот такое окно:&lt;br /&gt;
&lt;br /&gt;
[[File:Export.png|border]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Между Name и .MMH вписать hf_rob_chaa_0. Между Name и .MSH вписать тоже самое (если этого не сделалось автоматически). Отметить опцию Create MAO Material File. Все, теперь жмем Export. По окончании процесса экспорта в папке [имя_локального_диска]:\Documents and Settings\[имя_пользователя]\My Documents\BioWare\Dragon Age\packages\core\override\ должны появится пять новых файлов&lt;br /&gt;
hf_rob_chaa_0.phy&lt;br /&gt;
hf_rob_chaa_0.msh&lt;br /&gt;
hf_rob_chaa_0.mmh&lt;br /&gt;
hf_rob_chaa_0.met&lt;br /&gt;
pf_rob_chaz_0.mao&lt;br /&gt;
Там-же уже должны находится обе текстуры. Ну, вот собственно и все. Модель готова, можно запускать игру и смотреть результат.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Addding custom shield ==&lt;br /&gt;
&lt;br /&gt;
Процесс тот же самый с разницей, что щиту не нужен rigging.&lt;br /&gt;
  &lt;br /&gt;
1) Импортируйте любой щит из игры. В отличие от брони тут не нужно следить за размером - ЛЮБОЙ щит подойдет.&lt;br /&gt;
&lt;br /&gt;
2) Импортируйте ваш щит в ту же сцену и погдгоните его размер к тому, что из игры.&lt;br /&gt;
&lt;br /&gt;
3) Сделайте из ващего нового щита ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. Collapse any active modifiers on the &amp;quot;new&amp;quot; item. Then add a new &amp;quot;unwrap UVW&amp;quot; modiefier to it, and double click it to open the UVW window. then drag and select everything you see there, and DRAG IT ANYWHERE OUTSIDE THE OUTLINED BOX IN THE CENTER. This will make life easier for you in step 6.&lt;br /&gt;
&lt;br /&gt;
4) Выберите щит из игры и выберете все модификаторы исключая &amp;quot;unwrap UVW&amp;quot;. ПКМ -&amp;gt;&amp;quot;cut&amp;quot;, а не удалить, потому что м ыбудем их использовать. Далее ПКМ -&amp;gt; &amp;quot;make editable mesh&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
5) Теперь &amp;quot;attach&amp;quot; щит из ДАО к вашему новому щиту. &lt;br /&gt;
&lt;br /&gt;
6) Добавть новый &amp;quot;unwrap uvw&amp;quot; к этому mesh. Проверьте все ли модификаторы на месте - press the &amp;quot;+&amp;quot; слева. Выберите &amp;quot;face&amp;quot;, и выберете все, что внутри the outlined box в середине. ПКМ &amp;quot;unwrap UVW&amp;quot; и выберете &amp;quot;collapse to&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
7) Потом нажмите &amp;quot;+&amp;quot; слева от слов &amp;quot;editable mesh&amp;quot;. Выберте &amp;quot;element&amp;quot; и удалите. Вставьте все модификаторы, которые мы вырезали на шаге 4.&lt;br /&gt;
&lt;br /&gt;
8) Добавьте текстуры и экспортируйте.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Customisation of original Dragon age armor]]&lt;br /&gt;
*[[Adding custom shield tutorial]]&lt;br /&gt;
*[[Adding custom level tutorial]] - Add your own level.&lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/423834-the-witcher-1-armors-in-da-origins/page-2#entry3544131 How to add new armor to DAO on English] &lt;br /&gt;
*[http://forums.nexusmods.com/index.php?/topic/1122450-loincloth-fashion/page-56#entry16909714 How to fix GDA conflict]&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/3974/? Item Variation ID spreadsheet modification]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Bug:_New_level_doesn%27t_work_correctly&amp;diff=19812</id>
		<title>Bug: New level doesn't work correctly</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Bug:_New_level_doesn%27t_work_correctly&amp;diff=19812"/>
				<updated>2017-07-04T13:30:04Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*'''Version found:''' Final&lt;br /&gt;
*'''Status:''' Solved&lt;br /&gt;
*'''Related:''' [[Bug: Water plane missing in-game]].&lt;br /&gt;
== Description ==&lt;br /&gt;
After I did &amp;quot;Do all local posts&amp;quot; to my custom made levels doesn't work correctly in game though there is no water plane or exterior. There are no problems with models and all necessary components for Toolset are installed.&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
It doesn't matter what your custom levels are like: interior or exterior. You have to always port your levels not from you module but from Single Player. You can do it from [[manage modules]], and then once you've posted it you'll need to manually copy the resulting files from the single player [[override directory]] into your addin's override directory.&lt;br /&gt;
&lt;br /&gt;
[[Category:Toolset bugs]]&lt;br /&gt;
[[Category:Level layout bugs]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19811</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19811"/>
				<updated>2017-07-04T13:29:09Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Useful links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into '''Documents\BioWare\Dragon Age\AddIns\your Module_ID\module\override''' in the same folders as models. Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
&lt;br /&gt;
Save your '''.LVL''' files in Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
1) '''NOTE:ALWAYS port your custom levels from SINGLE PLAYER!''' Manage modules-&amp;gt; Single Player-&amp;gt; open your '''LVL''' there.&lt;br /&gt;
&lt;br /&gt;
2) Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3) Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4) Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5) Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area. Files will be ported into Documents\BioWare\Dragon Age\Toolset. Or use Search for each location name in Documents.&lt;br /&gt;
&lt;br /&gt;
6) All files have to be in folder in '''Documents\BioWare\Dragon Age\addins\your Module_ID\core\override\toolsetexport'''. Each model has to be organised and be in it's own folder. Your Custom model and texture files has to be in '''Documents\BioWare\Dragon Age\AddIns\your Module_ID\module\override'''&lt;br /&gt;
&lt;br /&gt;
Make sure that your folder has all type of files (PHY, DDS, XML, ARL, MAO, MMH, MSH, RIM, RML) also with folders Textures and trees. When you will make Builder to player packed you will be asked to delete not need files anyway.&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
7) The end. Test your levels in areas and make Builder to Player.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Bug: New level doesn't work correctly]] - how to fix it if your level doesnt work.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Bug:_New_level_doesn%27t_work_correctly&amp;diff=19810</id>
		<title>Bug: New level doesn't work correctly</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Bug:_New_level_doesn%27t_work_correctly&amp;diff=19810"/>
				<updated>2017-07-04T13:27:54Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: Created page with &amp;quot;*'''Version found:''' Final *'''Status:''' Solved *'''Related:''' Bug: Water plane missing in-game. == Description == After I did &amp;quot;Do all local posts&amp;quot; to my custom made level...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*'''Version found:''' Final&lt;br /&gt;
*'''Status:''' Solved&lt;br /&gt;
*'''Related:''' [[Bug: Water plane missing in-game]].&lt;br /&gt;
== Description ==&lt;br /&gt;
After I did &amp;quot;Do all local posts&amp;quot; to my custom made levels doesn't work correctly in game though there is no water plane or exterior.&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
It doesn't matter what your custom levels are like: interior or exterior. You have to always port your levels not from you module but from Single Player. You can do it from [[manage modules]], and then once you've posted it you'll need to manually copy the resulting files from the single player [[override directory]] into your addin's override directory.&lt;br /&gt;
&lt;br /&gt;
[[Category:Toolset bugs]]&lt;br /&gt;
[[Category:Level layout bugs]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Bug:_Water_plane_missing_in-game&amp;diff=19809</id>
		<title>Bug: Water plane missing in-game</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Bug:_Water_plane_missing_in-game&amp;diff=19809"/>
				<updated>2017-07-04T13:26:53Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*'''Version found:''' 1.0.982.19 &amp;lt;!-- put the version number of your toolset here --&amp;gt;&lt;br /&gt;
*'''Status:''' Open&lt;br /&gt;
*'''Related:''' [[Bug: Water plane missing in-game]].&lt;br /&gt;
{{EV|203997|[[User:Allan Smith|Allan Smith]]}}&lt;br /&gt;
== Description ==&lt;br /&gt;
&amp;lt;!-- Describe the bug here including as many details as possible. What situations trigger it and what effects it causes are the most important. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you create a level with a water plane in it the water is appearing properly in the toolset but is non-existent in the game. This problem has been identified. It is not lightmapper related; it turns out that &amp;quot;single player&amp;quot; is hard-coded into a part of the resource processing pipeline.&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
&amp;lt;!-- if you know of any ways to work around the bug describe them here. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A proper fix may take some time, but there's a fairly simple workaround for it.&lt;br /&gt;
&lt;br /&gt;
To post a level layout with water, first ensure that you've switched to the single player module via [[manage modules]], and then once you've posted it you'll need to manually copy the resulting files from the single player [[override directory]] into your addin's override directory.&lt;br /&gt;
&lt;br /&gt;
N.B. This bug is one of several path-related errors in level processing. For example, light mapping is also bugged. So, it's advisable to do all level work in the Single Player module, as described above.&lt;br /&gt;
&lt;br /&gt;
[[Category:Toolset bugs]]&lt;br /&gt;
[[Category:Level layout bugs]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Known_issues&amp;diff=19808</id>
		<title>Known issues</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Known_issues&amp;diff=19808"/>
				<updated>2017-07-04T13:21:31Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Toolset Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is somewhat redundant as it duplicates things from pages such as [[Installation troubleshooting]].  However, it is gathering place for issues related to specific builds, along with plans to fix them.&lt;br /&gt;
&lt;br /&gt;
We're now moving detailed bug reports to individual pages, grouped in the category [[:Category:Toolset bugs|Toolset bugs]]. See [[Reporting a bug]] for instructions on how to submit bugs. This page will remain as a high-level summary of current known issues.&lt;br /&gt;
&lt;br /&gt;
==Final Build==&lt;br /&gt;
===Toolset Issues===&lt;br /&gt;
*[[Bug: Out of memory message]]&lt;br /&gt;
*[[Bug: New level doesn't work correctly]]&lt;br /&gt;
&lt;br /&gt;
==Build 1.0.1008.0 (Installer Version 1.01)==&lt;br /&gt;
===Installer Issues===&lt;br /&gt;
&lt;br /&gt;
*[[Bug: Cannot open file for writing C:\Program Files\BioWare\...]]&lt;br /&gt;
&lt;br /&gt;
====[[Unable to connect to the database]]====&lt;br /&gt;
Unfortunately this will always be a potential issue, as it is an issue with connecting to SQL Server 2005 Express, which can fail in as many ways as there are users.  The latest help can be found [[Unable to connect to the database|here]].&lt;br /&gt;
&lt;br /&gt;
===Toolset Issues===&lt;br /&gt;
&lt;br /&gt;
*[[Bug: SpeedTree rendering distance]] - it has been reported that in at least one case a user can't set his tree rendering distance above 20m.&lt;br /&gt;
*[[Bug: ConfigureToolset application fails to set a registry key ]]. This bug requires a workaround if you need to use ConfigureToolset to change your database settings.&lt;br /&gt;
*[[Bug: Computer names with non-English characters can cause checkout problems]]. This can cause checked-out resources to be recognized as checked out to the wrong user, making them impossible to edit.&lt;br /&gt;
*[[Bug: Unable to save a new module]]. This can occur for users with long usernames.&lt;br /&gt;
*[[Bug: Water plane missing in-game]]. Level art that's posted when not in the single player module is missing its water planes.&lt;br /&gt;
&lt;br /&gt;
==Build 1.0.982.19 (Installer Version 1.00)==&lt;br /&gt;
===Installation Issues===&lt;br /&gt;
*[[Bug: Endless reboot cycles after install under Windows XP SP 2]]&lt;br /&gt;
*[[Installation into a directory with a long path name]] (this arose with Steam installations in particular)&lt;br /&gt;
*[[Bug: Installer hangs at the stage of Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot;]]&lt;br /&gt;
*[[Bug: Cannot open file for writing C:\Program Files\BioWare\...]]&lt;br /&gt;
&lt;br /&gt;
====[[Unable to connect to the database]]====&lt;br /&gt;
Unfortunately this will always be a potential issue, as it is an issue with connecting to SQL Server 2005 Express, which can fail in as many ways as there are users.  The latest help can be found [[Unable to connect to the database|here]].&lt;br /&gt;
&lt;br /&gt;
===Toolset Issues===&lt;br /&gt;
&lt;br /&gt;
*[[Bug: GFF and ERF editors require a keyfile]]&lt;br /&gt;
*[[Bug: FaceFX not appearing in menus]]&lt;br /&gt;
*[[Bug: Lightmapper causes shading artifacts along chunk boundaries]]&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - If you create a level with a water plane in it, the water is appearing properly in the toolset, but is non-existent in the game.  &lt;br /&gt;
*[[Bug: Toolset freezes when exporting or compiling]]&lt;br /&gt;
&lt;br /&gt;
====Exporting resources can cause the main campaign to fail, and can corrupt savegames made after installation====&lt;br /&gt;
*See [[Plot GUID bug]], or http://social.bioware.com/forum/1/topic/8/index/114380 for more details, and for information on how to clean up after this error strikes.&lt;br /&gt;
&lt;br /&gt;
An incompatibility has been discovered between the core resources in the database released with the toolset and the core resources used by the existing main campaign. This can cause the main campaign to stop working correctly after any resources are exported from the toolset.&lt;br /&gt;
&lt;br /&gt;
{{Dashedborder|This is fixed in version 1.01 of the toolset.  The underlying problem was identified and fixed, and a new set of core resources has been put into the database that does not give this problem anymore.}}&lt;br /&gt;
&lt;br /&gt;
== Older known issues (Beta issues, needs cleanup) ==&lt;br /&gt;
&lt;br /&gt;
=== Build 925 issues ===&lt;br /&gt;
&lt;br /&gt;
When working on a multiple-monitor system, it is possible that rearranging the monitors will cause the previously-recorded default location of popup windows such as &amp;quot;manage modules&amp;quot; to be off the edge of the display area where it can't be seen or manipulated. This can lock up the toolset, since the toolset won't respond until the popup is dismissed. To reset the position of the popup windows, delete the file &amp;quot;My Documents\BioWare\Dragon Age\Toolset\Layouts3.xml&amp;quot;. It will be recreated the next time the toolset is run using default values.&lt;br /&gt;
&lt;br /&gt;
=== Build 888 issues ===&lt;br /&gt;
&lt;br /&gt;
Build 888 and subsequent builds has some built-in assumptions that it will be installed in &amp;quot;Program Files\Dragon Age&amp;quot;. If it's installed elsewhere, the resource processor (used during certain resource exports, the generation of VO, FaceFX, and other activities) will become confused and fail with log messages such as &amp;quot;Unable to load C:\Programme\Dragon Age\tools\ResourceBuild/Settings/ResourceBuilder.xml&amp;quot; or &amp;quot;Failed to copy template 'C:\Program Files\Dragon Age\tools\ResourceBuild\Processors\VO_template_project.fdp' to 'C:\DOCUME~1\Owner\LOCALS~1\Temp\DragonAgePlaceholderVO\VO_template_project.fdp'&amp;quot; To correct this, go to the Tools -&amp;gt; Options -&amp;gt; Environment -&amp;gt; Resource Build Path setting and correct the path listed there to point to the resource builder's actual location.&lt;br /&gt;
&lt;br /&gt;
This appears to have been resolved in 1.0.982.0&lt;br /&gt;
&lt;br /&gt;
=== Build 773 issues ===&lt;br /&gt;
&lt;br /&gt;
*If you use resource history to view past revisions of a large conversation and then try to diff two of them, the toolset will crash. You can diff small conversations correctly. It's not known exactly what the cutoff between &amp;quot;large&amp;quot; and &amp;quot;small&amp;quot; conversations are as far as this bug is concerned.&lt;br /&gt;
&lt;br /&gt;
*Under Vista, the default install of MSSQL doesn't support multiple different user accounts on the same machine. Attempting to start the toolset from the wrong user account will pop up an error advising that you use the configuration tool to correct the database settings, but the database settings are not in error - it's the database server itself that's refusing to cooperate. One possible solution is to use SQL Server Management Studio Express to set up MSSQL properly.&lt;br /&gt;
&lt;br /&gt;
* When loading a saved game file, areas and objects contained therein are loaded from the save rather than the game resource. This means that if you save your game inside an area, make changes to the area and export them using the toolset, and then reload your game, none of the changes will appear. The changes will only appear if you start a new game. This affects objects such as waypoints, creatures, placeables, and so on.&lt;br /&gt;
&lt;br /&gt;
{{languages}}&lt;br /&gt;
[[Category:Toolset installation]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Playing_custom_Player_Character&amp;diff=19806</id>
		<title>Playing custom Player Character</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Playing_custom_Player_Character&amp;diff=19806"/>
				<updated>2017-06-30T15:12:50Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Characters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: dr. dummie&lt;br /&gt;
&lt;br /&gt;
Module UID: lpt&lt;br /&gt;
&lt;br /&gt;
Folder of all my resourses: z_lpt&lt;br /&gt;
&lt;br /&gt;
This tutorial:&lt;br /&gt;
* Allows you to play custom character.&lt;br /&gt;
* Start your module with cutscene.&lt;br /&gt;
* Allows you to create character 10 lvl and set it's characteristics as you want.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Characters ==&lt;br /&gt;
1 - Create 3 creatures&lt;br /&gt;
&lt;br /&gt;
* lpt_000c_ariana (tag &amp;quot;lpt_000c_ariana&amp;quot;) - This is our main character with features you like. Set her class, gender, VO and morph which starting weapons and armour he/she will have.&lt;br /&gt;
* lpt_000c_default_char (tag &amp;quot;default_player&amp;quot;) - this character who will mimic Jaden, so change only it's head morph, VO and gender. The rest must be default.&lt;br /&gt;
* lpt_000c_roquefort (tag &amp;quot;party_roquefort&amp;quot;) - this is the follower. Set up his gender, class, VO, inventory and head.&lt;br /&gt;
&lt;br /&gt;
2 - Rename &amp;quot;lpt_000c_default_char&amp;quot; manually in your module to &amp;quot;default_player&amp;quot;. You will find it in \..addins\your_module\module\override\- it will be packed with other resources as well.&lt;br /&gt;
&lt;br /&gt;
3 - Add follower into your starting area.&lt;br /&gt;
&lt;br /&gt;
Note: If you change morph or VO of your PC you should change both files.&lt;br /&gt;
&lt;br /&gt;
== Plot file ==&lt;br /&gt;
You need to create plot file of your module. This must be called &amp;quot;lpt_module_plot&amp;quot;. Don't forget to create cutscene named &amp;quot;lpt_module_intro&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There is only one Main Flag must be called MODULE_START_CUTSCENE with default settings.&lt;br /&gt;
&lt;br /&gt;
== Module script ==&lt;br /&gt;
&lt;br /&gt;
This is script of your module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//::///////////////////////////////////////////////&lt;br /&gt;
//:: Module Template&lt;br /&gt;
//:: Copyright (c) 2003 Bioware Corp.&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    Module events&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By:&lt;br /&gt;
//:: Created On:&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;log_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int FORCE_AUTOLEVEL = 0;  //to turn autolevel off&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    string sDebug;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
    object oParty = GetParty(oPC);&lt;br /&gt;
    int nEventHandled = FALSE;&lt;br /&gt;
&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: The module starts. This can happen only once for a single&lt;br /&gt;
        //       game instance.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_MODULE_START:&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
            //normally we would go trough chargen&lt;br /&gt;
            //PreloadCharGen();&lt;br /&gt;
            //StartCharGen(GetHero());&lt;br /&gt;
&lt;br /&gt;
            //but since we have fixed hero&lt;br /&gt;
            object oHero = GetHero();&lt;br /&gt;
&lt;br /&gt;
            // skip character generation and set some defaults&lt;br /&gt;
            Chargen_InitializeCharacter(oHero);&lt;br /&gt;
            Chargen_SelectGender(oHero, GENDER_FEMALE);&lt;br /&gt;
            Chargen_SelectRace(oHero, RACE_HUMAN);&lt;br /&gt;
            Chargen_SelectCoreClass(oHero,CLASS_ROGUE);&lt;br /&gt;
            Chargen_SelectBackground(oHero, BACKGROUND_NOBLE);&lt;br /&gt;
&lt;br /&gt;
            //give hero a name&lt;br /&gt;
            SetName(oHero, &amp;quot;Ariana&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            //manually give the player some equipment&lt;br /&gt;
            //EquipItem(oHero, UT_AddItemToInventory(R&amp;quot;gen_im_arm_cht_lgt_new.uti&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
            //or create your fixed character as template and then transfer everything on player.&lt;br /&gt;
            LoadItemsFromTemplate(oHero, &amp;quot;lpt_000c_ariana.utc&amp;quot;, TRUE);&lt;br /&gt;
&lt;br /&gt;
            //NOTE!&lt;br /&gt;
            //to get player appereance as you like, you must create blank char with desired facemorph&lt;br /&gt;
            //then after export copy that char to &amp;quot;default_player.utc&amp;quot; in your module override directory&lt;br /&gt;
            //so now this will be default char instead JADEN&lt;br /&gt;
&lt;br /&gt;
            // lets go level 10 and set autolevel to off&lt;br /&gt;
            RewardXP(oHero, RW_GetXPNeededForLevel(10), FALSE, FALSE);&lt;br /&gt;
            SetAutoLevelUp(oHero, FORCE_AUTOLEVEL);&lt;br /&gt;
&lt;br /&gt;
            PrintToLog(&amp;quot;------&amp;gt; MODULE START - Ariana created&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: The module loads from a save game. This event can fire more than&lt;br /&gt;
        //       once for a single module or game instance.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_MODULE_LOAD:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A player enters the module&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_ENTER:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: the player clicks on a destination in the world map&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_WORLD_MAP_USED:&lt;br /&gt;
        {&lt;br /&gt;
            int nFrom = GetEventInteger(ev, 0); // travel start location&lt;br /&gt;
            int nTo = GetEventInteger(ev, 1); // travel target location&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Area scipt ==&lt;br /&gt;
&lt;br /&gt;
This is script of your starting area&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
//::///////////////////////////////////////////////&lt;br /&gt;
//:: Area Core&lt;br /&gt;
//:: Copyright (c) 2003 Bioware Corp.&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    Handles global area events&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By: Yaron&lt;br /&gt;
//:: Created On: July 17th, 2006&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;log_h&amp;quot;&lt;br /&gt;
#include &amp;quot;utility_h&amp;quot;&lt;br /&gt;
#include &amp;quot;wrappers_h&amp;quot;&lt;br /&gt;
#include &amp;quot;events_h&amp;quot;&lt;br /&gt;
#include &amp;quot;2da_constants_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;lpt_utility_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;plt_lpt_module_plot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    event ev = GetCurrentEvent();&lt;br /&gt;
    int nEventType = GetEventType(ev);&lt;br /&gt;
    string sDebug;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
    object oParty = GetParty(oPC);&lt;br /&gt;
    int nEventHandled = FALSE;&lt;br /&gt;
&lt;br /&gt;
    switch(nEventType)&lt;br /&gt;
    {&lt;br /&gt;
        ///////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: it is for playing things like cutscenes and movies when&lt;br /&gt;
        // you enter an area, things that do not involve AI or actual game play&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_SPECIAL:&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
            PrintToLog(&amp;quot;-----&amp;gt; START AREA - AREALOAD SPECIAL.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            //moved cutscene and hiring code to postloadexit cause some&lt;br /&gt;
            //stuff didnt worked here&lt;br /&gt;
&lt;br /&gt;
            //EDIT: It seems that works with this approach! left other info for&lt;br /&gt;
            //      learn and debug purposes.&lt;br /&gt;
&lt;br /&gt;
            //we run cutscene in this event cause in areaload special we could not&lt;br /&gt;
            //hire follower with desired behavior (gain xp and skills can be set)..&lt;br /&gt;
            //since cutscene and hiring are to be done only once we keep them together.&lt;br /&gt;
            //here it works.. why? i dont know..&lt;br /&gt;
            if (WR_GetPlotFlag(PLT_LPT_MODULE_PLOT, MODULE_START_CUTSCENE) == FALSE)&lt;br /&gt;
            {&lt;br /&gt;
                //roquefort is added to start area and has tag &amp;quot;roquefort&amp;quot;&lt;br /&gt;
                object oFollower = GetObjectByTag(&amp;quot;party_roquefort&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
                //this caused follower to not gain xp, it is bug in game script&lt;br /&gt;
                //UT_HireFollower(oFollower); //we're not using this&lt;br /&gt;
&lt;br /&gt;
                //instead hiring follower with UT_hirefollower, set plot flag and&lt;br /&gt;
                //start script which will hire Roquefort..&lt;br /&gt;
                //this is used if you want to set plot flag to &amp;quot;know&amp;quot; that roquefort is hired&lt;br /&gt;
                //like in some dialogues etc where you can check for conditions..&lt;br /&gt;
                //WR_SetPlotFlag(PLT_LOP_MODULE_PLOT, ROQUEFORT_HIRED, TRUE, TRUE);&lt;br /&gt;
&lt;br /&gt;
                //eventually we can try this to avoid plots at all!&lt;br /&gt;
                //but i guess it would not work as it should without setting&lt;br /&gt;
                //bResetFollower to true..&lt;br /&gt;
                lop_UT_HireFollower(oFollower, FALSE, 0, TRUE, CLASS_WARRIOR);&lt;br /&gt;
&lt;br /&gt;
                // Start cutscene, also set plot flag that cutscene was played.&lt;br /&gt;
                PrintToLog(&amp;quot;-----&amp;gt; START AREA - Load Cutscene.&amp;quot;);&lt;br /&gt;
                CS_LoadCutscene(R&amp;quot;lpt_module_intro.cut&amp;quot;, PLT_LPT_MODULE_PLOT, MODULE_START_CUTSCENE);&lt;br /&gt;
                PlayCutscene();&lt;br /&gt;
             }&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ///////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: for things you want to happen while the load screen is still up,&lt;br /&gt;
        // things like moving creatures around&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_PRELOADEXIT:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: fires at the same time that the load screen is going away,&lt;br /&gt;
        // and can be used for things that you want to make sure the player sees.&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_AREALOAD_POSTLOADEXIT:&lt;br /&gt;
        {&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A creature enters the area&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_ENTER:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        // Sent by: The engine&lt;br /&gt;
        // When: A creature exits the area&lt;br /&gt;
        ////////////////////////////////////////////////////////////////////////&lt;br /&gt;
        case EVENT_TYPE_EXIT:&lt;br /&gt;
        {&lt;br /&gt;
            object oCreature = GetEventCreator(ev);&lt;br /&gt;
&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    if (!nEventHandled)&lt;br /&gt;
    {&lt;br /&gt;
        HandleEvent(ev, RESOURCE_SCRIPT_AREA_CORE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
== One more script ==&lt;br /&gt;
This one must be called lpt_utility_h. Don't worry why this cannot be compiled directly cause it is header script and it contains functions, constants, not main logic flow it is compiled automatically when you include it in some other script and use some function from it.&lt;br /&gt;
&amp;lt;dascript&amp;gt;&lt;br /&gt;
                      //:://////////////////////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
    &amp;quot;Lady of pain&amp;quot;&lt;br /&gt;
     -&amp;gt; Utility include script&lt;br /&gt;
&lt;br /&gt;
     This file contains utility functions&lt;br /&gt;
*/&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
//:: Created By: Kivito&lt;br /&gt;
//:: Created On: 19.10.2013&lt;br /&gt;
//:://////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;sys_chargen_h&amp;quot;&lt;br /&gt;
#include &amp;quot;sys_rewards_h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;plt_tut_friendly_aoe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//clears creature stats (from wiki)&lt;br /&gt;
void lop_ClearCharStats(object oFollower);&lt;br /&gt;
&lt;br /&gt;
//resets all creature points to defaults&lt;br /&gt;
//it should be called ONLY AFTER follower is hired,&lt;br /&gt;
//also you can change core class for follower&lt;br /&gt;
void lop_ReHireChar(object oFollower, int nCoreClass = 1);&lt;br /&gt;
&lt;br /&gt;
//custom hire follower with parameters, if bResetFollower is true,&lt;br /&gt;
//then all followers points are reset to defaults, also if nCoreClass is specified&lt;br /&gt;
//it is possible to change i.e. warrior to mage&lt;br /&gt;
void lop_UT_HireFollower(object oFollower, int bPreventLevelUp = FALSE, int nForceAutolevel = 0, int bResetFollower = FALSE, int nResetTo = 1);&lt;br /&gt;
&lt;br /&gt;
void lop_ClearCharStats(object oChar)&lt;br /&gt;
{&lt;br /&gt;
    // Initialize all creature properties to default value&lt;br /&gt;
&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_SIMPLE_LEVEL,1.0f,PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_SIMPLE_EXPERIENCE,0.0f,PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_STRENGTH,      CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_DEXTERITY,     CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_CONSTITUTION,  CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_WILLPOWER,     CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_INTELLIGENCE,  CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_MAGIC,         CHARGEN_BASE_ATTRIBUTE_VALUE, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_ATTACK_SPEED_MODIFIER,     1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_DAMAGE_SCALE,       1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_RESISTANCE_MENTAL,         0.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,PROPERTY_ATTRIBUTE_RESISTANCE_PHYSICAL,       0.0f);&lt;br /&gt;
    SetCreatureProperty(oChar,51,       1.0f);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_HEALTH_COMBAT,  REGENERATION_HEALTH_COMBAT_DEFAULT);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_STAMINA_COMBAT, REGENERATION_STAMINA_COMBAT_DEFAULT);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_HEALTH,REGENERATION_HEALTH_EXPLORE_DEFAULT, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_REGENERATION_STAMINA, REGENERATION_STAMINA_EXPLORE_DEFAULT, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_MISSILE_SHIELD,0.0);&lt;br /&gt;
    SetCreatureProperty(oChar, 38,0.0);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_DEPLETABLE_HEALTH ,          1.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_DEPLETABLE_MANA_STAMINA ,    0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_DEFENSE ,          0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_ATTACK,            0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_DAMAGE_BONUS,      0.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
    SetCreatureProperty(oChar, PROPERTY_ATTRIBUTE_FLANKING_ANGLE,  60.0f, PROPERTY_VALUE_BASE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lop_ReHireChar(object oFollower, int nCoreClass = 1)&lt;br /&gt;
{&lt;br /&gt;
    object me = oFollower;&lt;br /&gt;
    object oPC = GetHero();&lt;br /&gt;
&lt;br /&gt;
    //lets get some info from original follower&lt;br /&gt;
&lt;br /&gt;
    //this returns invalid class(0)!! probably cause when hiring a follower&lt;br /&gt;
    //game performes some AI update in &amp;quot;areaload special&amp;quot; event&lt;br /&gt;
    int nClass = GetCreatureCoreClass(me);&lt;br /&gt;
    int nCurrentClass = GetCreatureCurrentClass(me);&lt;br /&gt;
&lt;br /&gt;
    int nRace = GetCreatureRacialType(me);&lt;br /&gt;
    int nGender = GetCreatureGender(me);&lt;br /&gt;
&lt;br /&gt;
    //it seems we dont need this&lt;br /&gt;
    //lop_ClearCharStats(me);&lt;br /&gt;
&lt;br /&gt;
    //cause this went well&lt;br /&gt;
    Chargen_InitializeCharacter(me);&lt;br /&gt;
&lt;br /&gt;
    //select race, otherwise skills tree wont show&lt;br /&gt;
    //Chargen_SelectRace(me,RACE_HUMAN);&lt;br /&gt;
    Chargen_SelectRace(me, nRace); //we passing race from original char&lt;br /&gt;
&lt;br /&gt;
    //no use for this since we passing core class from function&lt;br /&gt;
    //int nClass_s = CLASS_WARRIOR;&lt;br /&gt;
&lt;br /&gt;
    Chargen_SelectGender(me, nGender); //we passing gender from original char&lt;br /&gt;
&lt;br /&gt;
    //remove the defaults - leftover(s) from wiki, could be useful for some other approaches&lt;br /&gt;
    //CharGen_ClearAbilityList(me,1);//remove talents&lt;br /&gt;
    //CharGen_ClearAbilityList(me,2);//remove spells&lt;br /&gt;
    //CharGen_ClearAbilityList(me,3);//remove skills&lt;br /&gt;
&lt;br /&gt;
    //apply attributes, abilities and stats for the core class&lt;br /&gt;
    //SetCreatureProperty(me,PROPERTY_SIMPLE_CURRENT_CLASS, n1-3.0,PROPERTY_VALUE_BASE);&lt;br /&gt;
&lt;br /&gt;
    //we passed core class for our follower, in theory here we could change it&lt;br /&gt;
    //to be what we want (i.e. from warrior to mage)&lt;br /&gt;
    Chargen_SelectCoreClass(me, nCoreClass);&lt;br /&gt;
&lt;br /&gt;
    //add ability - just to test it&lt;br /&gt;
    //_AddAbility(me, ABILITY_TALENT_POWERFUL);&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; lop_ReHireFollower: Race: &amp;quot; + IntToString(nRace) +&lt;br /&gt;
        &amp;quot;, Current Core Class: &amp;quot; + IntToString(nClass) + &amp;quot;, Wanted Core Class: &amp;quot; + IntToString(nCoreClass) +&lt;br /&gt;
        &amp;quot;, Gender: &amp;quot; + IntToString(nGender) + &amp;quot;, Current (sub) Class: &amp;quot; + IntToString(nCurrentClass));&lt;br /&gt;
&lt;br /&gt;
    //tactics&lt;br /&gt;
    Chargen_SetNumTactics(me);&lt;br /&gt;
    Chargen_EnableTacticsPresets(me);&lt;br /&gt;
&lt;br /&gt;
    //level needed for scaling&lt;br /&gt;
    int nPackage = GetPackage(me);&lt;br /&gt;
    int nTargetLevel;&lt;br /&gt;
&lt;br /&gt;
    int nPlayerLevel = GetLevel(oPC);&lt;br /&gt;
    if(nPlayerLevel &amp;gt;= 13 || nPlayerLevel == 1 )&lt;br /&gt;
       nTargetLevel = nPlayerLevel;&lt;br /&gt;
    else&lt;br /&gt;
       nTargetLevel = nPlayerLevel + 1;&lt;br /&gt;
&lt;br /&gt;
    int nMinLevel = GetM2DAInt(TABLE_PACKAGES, &amp;quot;MinLevel&amp;quot;, nPackage);&lt;br /&gt;
&lt;br /&gt;
    if(nMinLevel &amp;gt; 0 &amp;amp;&amp;amp; nMinLevel &amp;gt; nTargetLevel)&lt;br /&gt;
       nTargetLevel = nMinLevel;&lt;br /&gt;
&lt;br /&gt;
    //xp until hero level&lt;br /&gt;
    int nXp = RW_GetXPNeededForLevel(Max(nTargetLevel, 1));&lt;br /&gt;
    RewardXP(me, nXp, FALSE, FALSE);&lt;br /&gt;
&lt;br /&gt;
    //add specialization&lt;br /&gt;
    float count=1.0;&lt;br /&gt;
    if(GetLevel(oPC)&amp;gt;=7)&lt;br /&gt;
    {&lt;br /&gt;
        SetCreatureProperty(me, 38, count);  // 38 is the spec point ID&lt;br /&gt;
        count=count+1.0;&lt;br /&gt;
    }&lt;br /&gt;
    if(GetLevel(oPC)&amp;gt;=14)&lt;br /&gt;
        SetCreatureProperty(me, 38, count);  // 38 is the spec point ID&lt;br /&gt;
&lt;br /&gt;
    //make available in party picker - don't know if its needed here for this case usage&lt;br /&gt;
    //SetFollowerState(me, FOLLOWER_STATE_ACTIVE);&lt;br /&gt;
    //SetFollowerState(me, FOLLOWER_STATE_AVAILABLE);&lt;br /&gt;
&lt;br /&gt;
    //dont fire player_core scaling&lt;br /&gt;
    SetLocalInt(me, FOLLOWER_SCALED, 1);&lt;br /&gt;
    SetLocalInt(me, AI_FLAG_STATIONARY, 0);&lt;br /&gt;
    SetLocalInt(me, AMBIENT_SYSTEM_STATE, 0);&lt;br /&gt;
    SetLocalInt(me, CREATURE_REWARD_FLAGS, 0);&lt;br /&gt;
&lt;br /&gt;
    //change script to player and send hire event&lt;br /&gt;
    SetEventScript(me, RESOURCE_SCRIPT_PLAYER_CORE);&lt;br /&gt;
    InitHeartbeat(me, CONFIG_CONSTANT_HEARTBEAT_RATE);&lt;br /&gt;
    SendPartyMemberHiredEvent(me, FALSE);&lt;br /&gt;
    SetFollowerApprovalEnabled(me,TRUE);&lt;br /&gt;
&lt;br /&gt;
    //open up party picker to allow npc to join in the active party - not needed in this usage&lt;br /&gt;
    //SetPartyPickerGUIStatus(2);&lt;br /&gt;
    //ShowPartyPickerGUI();&lt;br /&gt;
&lt;br /&gt;
    SetFollowerState(me, FOLLOWER_STATE_ACTIVE);  //put him in party&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; Custom Hire follower: &amp;quot; + GetTag(me) +&lt;br /&gt;
        &amp;quot;, Hero lvl: &amp;quot; + IntToString(nPlayerLevel) + &amp;quot;, Follower level: &amp;quot; + IntToString(nTargetLevel));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void lop_UT_HireFollower(object oFollower, int bPreventLevelUp = FALSE, int nForceAutolevel = 0, int bResetFollower = FALSE, int nResetTo = 1)&lt;br /&gt;
{&lt;br /&gt;
    object oPC = GetPartyLeader();&lt;br /&gt;
&lt;br /&gt;
    PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Hiring: &amp;quot; + GetTag(oFollower) +&lt;br /&gt;
        &amp;quot;, Party leader: &amp;quot; + GetTag(oPC) + &amp;quot;, Autolevel: &amp;quot; + IntToString(nForceAutolevel) +&lt;br /&gt;
        &amp;quot;, Reset follower: &amp;quot; + IntToString(bResetFollower));&lt;br /&gt;
&lt;br /&gt;
    //cannot be used for plot followers&lt;br /&gt;
    if(_UT_GetIsPlotFollower(oFollower))&lt;br /&gt;
    {&lt;br /&gt;
        PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Follower IS plot follower, exiting.&amp;quot;);&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    //calling this code caused follower to be hired and to gain xp&lt;br /&gt;
    SetAutoLevelUp(oFollower, nForceAutolevel);       //0 - off, 1 - autolevel, 2 - force autolevel&lt;br /&gt;
    SetGroupId(oFollower, GetGroupId(oPC));           //not sure if needed cause player_core resets it&lt;br /&gt;
    SetLocalInt(oFollower, CREATURE_REWARD_FLAGS, 0); //to gain xp&lt;br /&gt;
    WR_SetFollowerState(oFollower, FOLLOWER_STATE_ACTIVE, TRUE, 0, bPreventLevelUp);&lt;br /&gt;
&lt;br /&gt;
    //Show the AOE flag when the PC is a mage and aquires a follower or the follower hired is a mage&lt;br /&gt;
    if(GetLocalInt(GetModule(), TUTORIAL_ENABLED) &amp;amp;&amp;amp; (GetCreatureCoreClass(oPC) == CLASS_WIZARD || GetCreatureCoreClass(oFollower) == CLASS_WIZARD))&lt;br /&gt;
    {&lt;br /&gt;
        WR_SetPlotFlag(PLT_TUT_FRIENDLY_AOE, TUT_FRIENDLY_AOE_1, TRUE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (bResetFollower)&lt;br /&gt;
    {&lt;br /&gt;
        PrintToLog(&amp;quot;-----&amp;gt; lop_UT_HireFollower: Resetting follower.&amp;quot;);&lt;br /&gt;
        //calling this will re-initialize follower&lt;br /&gt;
        lop_ReHireChar(oFollower, nResetTo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//activates group of triggers by tag&lt;br /&gt;
void yad_ActivateTrigger(string sTriggerTag, int bActivate = TRUE)&lt;br /&gt;
{&lt;br /&gt;
    object [] arActivate = GetNearestObjectByTag(GetMainControlled(), sTriggerTag, OBJECT_TYPE_TRIGGER, 15);&lt;br /&gt;
    int nSize = GetArraySize(arActivate);&lt;br /&gt;
&lt;br /&gt;
    object oActivate;&lt;br /&gt;
    int nIndex;&lt;br /&gt;
&lt;br /&gt;
    for (nIndex = 0; nIndex &amp;lt; nSize; ++nIndex)&lt;br /&gt;
    {&lt;br /&gt;
        oActivate = arActivate[nIndex];&lt;br /&gt;
        WR_SetObjectActive(oActivate, bActivate);&lt;br /&gt;
        DisplayFloatyMessage(oActivate, &amp;quot;Hello trigger!&amp;quot;, FLOATY_MESSAGE,16777215,10.0);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/dascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Bug:_Out_of_memory_message&amp;diff=19805</id>
		<title>Bug: Out of memory message</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Bug:_Out_of_memory_message&amp;diff=19805"/>
				<updated>2017-06-27T15:31:20Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*'''Version found:''' Final&lt;br /&gt;
*'''Status:''' Solved&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
'''Out of memory message''' can occur when you do '''Builder to Player''' package and you file is more than 2GB of RAM even if you have enough RAM for this file. Usually it happens when you have custom levels in your module - they are big ones.&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
Don't worry - everything is correct with your computer it is just toolset don't see the memory. Just use this file for Toolset exe so the toolset will see it. [http://www.ntcore.com/4gb_patch.php I found the Patch for TOOLSET-EXE there.]&lt;br /&gt;
== Possible causes==&lt;br /&gt;
Toolset don't see the memory.&lt;br /&gt;
[[Category:Toolset bugs]]&lt;br /&gt;
[[Category:Level layout bugs]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Installation_troubleshooting&amp;diff=19804</id>
		<title>Installation troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Installation_troubleshooting&amp;diff=19804"/>
				<updated>2017-06-27T15:31:02Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Out of memory message even if you have enough RAM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''NOTE: version 1.00 had a problem with installing to directories with paths longer than 58 characters, which is the default for Steam installations. 1.01 overcomes this problem, and fixes several other important bugs, but if for some reason you wish to install 1.00 see [[Installation with Steam]] for details and a workaround.'''&lt;br /&gt;
&lt;br /&gt;
Refer to [[Known issues]] for the current list of issues that are being worked on, and their status.&lt;br /&gt;
&lt;br /&gt;
See [[Installing the toolset]] for general information and guidance about installing the Dragon Age toolset. If something goes wrong during that process this page may have useful information and advice.&lt;br /&gt;
&lt;br /&gt;
If you experience a crash, logs can be found in &amp;lt;code&amp;gt;My Documents\BioWare\Dragon Age\Toolset\logs&amp;lt;/code&amp;gt;. The log filenames will include the date on which the log file was created. Sending in a log will help greatly with bug fixing.&lt;br /&gt;
&lt;br /&gt;
== General errors ==&lt;br /&gt;
&lt;br /&gt;
If the Dragon Age toolset downloads to near-completion, but you then get the error &amp;quot;[browser] cannot download, etc.  Connection with the server was reset&amp;quot;, this may be due to a downloading management issue.  One solution is to first download an internet download manager (IDM) freeware program (e.g. www.internetdownloadmanager.com/).  Then, once the IDM is installed and in control of your downloads, retry downloading the DA toolset through your default browser.  &lt;br /&gt;
&lt;br /&gt;
If you get the &amp;quot;Dragon Age: Origins game install not found&amp;quot; error when you run the toolset installer:&lt;br /&gt;
* You must have the game installed before you can install the toolset. Please install the game first.&lt;br /&gt;
* If you have installed the game, but not yet run the configure program, you will get this message: &amp;quot;Please launch the Dragon Age: Origins Configure Utility&amp;quot;. This happens automatically the first time you attempt to run the game. After you have successfully configured and launched the game at least once, you should no longer get this error.&lt;br /&gt;
&lt;br /&gt;
If the toolset cannot find DLLs you may need to run the configuration tool after installation to tell the toolset where to find the Dragon Age build. This can happen if you uninstall the toolset and then reinstall it again in a different location.&lt;br /&gt;
&lt;br /&gt;
If you install the toolset in a non-default location, the toolset may not be made aware of where the [[Resource Builder]] has been put. This can be easily fixed by changing the &amp;quot;Resource Build Path&amp;quot; variable found in Options-&amp;gt;Environment.&lt;br /&gt;
&lt;br /&gt;
On Vista and Windows 7 systems you may get a message reading &amp;quot;Windows has blocked some of the features of this program.&amp;quot; It will indicate that the offending program is &amp;quot;Microsoft Register Server&amp;quot;, located at C:\windows\system32\regsvr32.exe. The installer makes use of this program to register the game engine's DLL for use by the toolset. You can choose to block or allow this, the installer will work either way. It is somewhat safer to leave it blocked.&lt;br /&gt;
&lt;br /&gt;
On Windows 7 64 bit you may experience this error durring the installation of the toolset.&lt;br /&gt;
Error opening File or Writing:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files\Common Files\BioWare\Uninstall Dragon Age Toolset.exe&lt;br /&gt;
&lt;br /&gt;
Click Abort to stop the installation,&lt;br /&gt;
Retry to try again, or&lt;br /&gt;
Ignore to skip the file.&lt;br /&gt;
&lt;br /&gt;
The work around for this is to either create the folder &amp;quot;BioWare&amp;quot; in the directory of C:\Program Files\Common Files\ prior to the installation or at the point where the error is experienced. This is due to the installation program not creating the folder &amp;quot;BioWare&amp;quot; in the C:\Program Files (x86)\Common Files. Once this &amp;quot;BioWare&amp;quot; folder is created the installation will complete by clicking on &amp;quot;retry&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
MSSQL Express 2005's installer has a limitation that prevents it from installing to a directory path that's longer than 58 characters.&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/935371]&amp;lt;/sup&amp;gt; Version 1.01 of the toolset installer has addressed this issue by installing the database to a predefined location independant of the location of the game executable.&lt;br /&gt;
&lt;br /&gt;
== Out of memory message even if you have enough RAM ==&lt;br /&gt;
'''Out of memory message''' can occur when you do '''Builder to Player''' package and you file is more than 2GB of RAM even if you have enough RAM for this file. Don't worry - everything is correct with your computer it is just toolset don't see the memory. Just use this file for Toolset exe so the toolset will see it. [http://www.ntcore.com/4gb_patch.php I found the Patch for TOOLSET-EXE there.]&lt;br /&gt;
&lt;br /&gt;
== Empty Palette Window ==&lt;br /&gt;
If after succesful launching of toolset, your window palette is empty, probably the problem is the default language not set to &amp;quot;English&amp;quot; in your DataBase properties:&lt;br /&gt;
* to change it launch Microsoft SQLServer Management Studio Express 2005 (this is covered in [[Manual database installation]])&lt;br /&gt;
* in the Database tree, choose &amp;quot;Security&amp;quot; (translate it in your language)&lt;br /&gt;
* then choose something like, &amp;quot;accounts&amp;quot; or &amp;quot;logins&amp;quot;, then you should see a list of users, including your windows user&lt;br /&gt;
* right click on your username and choose &amp;quot;properties&amp;quot;&lt;br /&gt;
* at bottom right of the window that pop up locate &amp;quot;Default Language&amp;quot;  and change it in &amp;quot;English&amp;quot;&lt;br /&gt;
* click &amp;quot;ok&amp;quot; button &lt;br /&gt;
&lt;br /&gt;
Now the empty palette window should show the resources. ''Thanks to Vreltek for this solution!''&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;[[Unable to connect to the database]]&amp;quot; ==&lt;br /&gt;
If you receive the &amp;quot;unable to connect to the database&amp;quot; error message there are many reasons why this happens, and various ways to correct it.&lt;br /&gt;
&lt;br /&gt;
A new troubleshooting page for this error has been created.  Rather than random suggestions of things to try, it has a troubleshooting flowchart to help you diagnose and fix your problem.  Please visit [[Unable to connect to the database]] for the latest help with this problem.&lt;br /&gt;
&lt;br /&gt;
== Installer hangs at the stage of &amp;quot;Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
In some instances Regsvr32.exe is failing for some unknown reason and refusing to terminate. Version 1.01 of the toolset installer has addressed this problem by no longer waiting for a return value from regsvr32, so the installer should no longer hang at this stage.&lt;br /&gt;
&lt;br /&gt;
See [[Bug: Installer hangs at the stage of Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot;]] for details should you encounter something like this again, or need to register engine.dll manually.&lt;br /&gt;
&lt;br /&gt;
== Other database issues and solutions ==&lt;br /&gt;
&lt;br /&gt;
If you have never installed MSSQLServer Express, check for updates available for it through Windows Update after installing the toolset.&lt;br /&gt;
&lt;br /&gt;
If the SQL install fails with a crash it is possible that it is conflicting with MSXML6. If you have MSXML6 installed, uninstall it and try reinstalling the toolset. See [http://support.microsoft.com/kb/968749 Microsoft's support page on this issue]. If you have trouble uninstalling MSXML6, try the [http://support.microsoft.com/kb/290301 Microsoft Windows Installer Cleanup Utility].&lt;br /&gt;
&lt;br /&gt;
During the SQL Server Express installation when the installation script attempts to start the database, a message box with the &amp;quot;The SQL Server service failed to start...&amp;quot; error message and options to Retry or Cancel may pop up.&lt;br /&gt;
* Do '''not''' click Cancel. Clicking Cancel rolls back the installation, preventing the creation of the BWDATOOLSET database. You will need to reinstall from scratch if this happens.&lt;br /&gt;
* Instead, navigate to and right click on the Protect folder and  open the Properties window. On the Security tab add NETWORK SERVICE to  the list of Groups and User names and grant it Full Permissions. The path to the Protect folder will be:&lt;br /&gt;
** Windows XP: &amp;lt;code&amp;gt;C:\Documents and Settings\NetworkService\Application Data\Microsoft\Protect &amp;lt;/code&amp;gt;&lt;br /&gt;
** Windows 7: &amp;lt;code&amp;gt;C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Protect&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you don't have a Security tab then close the Properties window and select Tools | Folder Options from Explorer's menu bar. In the Folder Options window click on the View tab, scroll to the last option and uncheck Use simple file sharing (Recommended) option. Now you should be able to do complete the previous step.&lt;br /&gt;
* Finally return to the &amp;quot;The SQL Server service failed to start...&amp;quot; error message and click on the Retry option.&lt;br /&gt;
&lt;br /&gt;
The version of MSSQL Server 2005 included with the toolset may have trouble installing on 64-bit operating systems. This can be indicated by SQL Server Error 70047 in the installer's logs. To resolve this problem, install [http://go.microsoft.com/fwlink/?LinkId=55734 Microsoft .NET Framework Version 2.0] for 64-bit architectures before installing the toolset. &amp;lt;!-- ref: http://www.microsoft.com/downloadS/details.aspx?familyid=220549B5-0B07-4448-8848-DCC397514B41&amp;amp;displaylang=en --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may also encounter issues running migration scripts on 64 bit OSes. An alternate migration script can be found here: http://social.bioware.com/project/46/&lt;br /&gt;
&lt;br /&gt;
You may get issues with access permissions. This can be avoided by giving your username admin rights to the database. To do this:&lt;br /&gt;
# Run &amp;quot;SQL Server Surface Area Configuration&amp;quot; (should be on your start menu under Microsoft SQL Server 2005)&lt;br /&gt;
# Select the &amp;quot;Add new administrator&amp;quot; option.&lt;br /&gt;
# Add yourself as administrator.&lt;br /&gt;
&lt;br /&gt;
If you get a syntax error during installation, it could be caused by the path being too long.  Rather than moving your whole install, try this: http://support.microsoft.com/kb/935371&lt;br /&gt;
&lt;br /&gt;
See [[Manual database installation]] for instructions on how to manually set up the database for use with your toolset.&lt;br /&gt;
&lt;br /&gt;
== Windows XP SP 2 and endless reboot cycles after install ==&lt;br /&gt;
&lt;br /&gt;
*See [[Bug: Endless reboot cycles after install under Windows XP SP 2]]&lt;br /&gt;
&lt;br /&gt;
The MSSQL Server Express installer bundled with the toolset has a potential issue when installed on Windows XP Service Pack 2 that can cause an endless cycle of reboots. The toolset installer will warn you not to proceed if it detects SP2 on your system. Dragon Age: Origins has Service Pack 3 as part of its minimum installation requirements, so you should try upgrading to Service Pack 3 and reinstall.&lt;br /&gt;
&lt;br /&gt;
If you're stuck in an endless reboot cycle:&lt;br /&gt;
&lt;br /&gt;
*Press ctrl+alt+del and open the task manager as soon as possible. Failing that, try booting in safe mode by holding down F8 during the boot process.&lt;br /&gt;
*Then go to the start menu and in execute type in &amp;quot;msconfig&amp;quot;&lt;br /&gt;
*In MSConfig go to services and deactivate all the SQL services.&lt;br /&gt;
*Now you can go to control panel...software and uninstall the SQL server from the last piece upward.&lt;br /&gt;
&lt;br /&gt;
Alternately, instead of booting into safe mode after holding down F8 during boot, you can choose the option &amp;quot;Last known good configuration (your most recent settings that worked)&amp;quot;. This may restore your system to a functional state and allow SQL Server to function correctly.&lt;br /&gt;
&lt;br /&gt;
Once you've uninstalled SQL Server this should prevent further reboot cycles. You can now install Windows XP Service Pack 3.&lt;br /&gt;
&lt;br /&gt;
== Externals links for troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
[http://forum.canardpc.com/showthread.php?p=2675920 Canard PC forum] French only :Forum résumant la marche a faire en cas de problèmes. &lt;br /&gt;
&lt;br /&gt;
{{Languages}}&lt;br /&gt;
[[Category:Toolset installation]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Bug:_Out_of_memory_message&amp;diff=19803</id>
		<title>Bug: Out of memory message</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Bug:_Out_of_memory_message&amp;diff=19803"/>
				<updated>2017-06-27T09:59:05Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*'''Version found:''' Final&lt;br /&gt;
*'''Status:''' Solved&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
'''Out of memory message''' can occur when you do '''Builder to Player''' package and you file is more than 2GB of RAM even if you have enough RAM for this file. Usually it happens when you have custom levels in your module - they are big ones.&lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
Don't worry - everything is correct with your computer it is just toolset don't see the memory. Just use this file for Toolset exe so the toolset will see it. [http://www.nexusmods.com/dragonage/mods/4571/? I uploaded Patch this for TOOLSET-EXE there in '''Main files''' for your comfort.]&lt;br /&gt;
&lt;br /&gt;
== Possible causes==&lt;br /&gt;
Toolset don't see the memory.&lt;br /&gt;
[[Category:Toolset bugs]]&lt;br /&gt;
[[Category:Level layout bugs]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Installation_troubleshooting&amp;diff=19802</id>
		<title>Installation troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Installation_troubleshooting&amp;diff=19802"/>
				<updated>2017-06-27T09:56:58Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Out of memory message even if you have enough RAM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''NOTE: version 1.00 had a problem with installing to directories with paths longer than 58 characters, which is the default for Steam installations. 1.01 overcomes this problem, and fixes several other important bugs, but if for some reason you wish to install 1.00 see [[Installation with Steam]] for details and a workaround.'''&lt;br /&gt;
&lt;br /&gt;
Refer to [[Known issues]] for the current list of issues that are being worked on, and their status.&lt;br /&gt;
&lt;br /&gt;
See [[Installing the toolset]] for general information and guidance about installing the Dragon Age toolset. If something goes wrong during that process this page may have useful information and advice.&lt;br /&gt;
&lt;br /&gt;
If you experience a crash, logs can be found in &amp;lt;code&amp;gt;My Documents\BioWare\Dragon Age\Toolset\logs&amp;lt;/code&amp;gt;. The log filenames will include the date on which the log file was created. Sending in a log will help greatly with bug fixing.&lt;br /&gt;
&lt;br /&gt;
== General errors ==&lt;br /&gt;
&lt;br /&gt;
If the Dragon Age toolset downloads to near-completion, but you then get the error &amp;quot;[browser] cannot download, etc.  Connection with the server was reset&amp;quot;, this may be due to a downloading management issue.  One solution is to first download an internet download manager (IDM) freeware program (e.g. www.internetdownloadmanager.com/).  Then, once the IDM is installed and in control of your downloads, retry downloading the DA toolset through your default browser.  &lt;br /&gt;
&lt;br /&gt;
If you get the &amp;quot;Dragon Age: Origins game install not found&amp;quot; error when you run the toolset installer:&lt;br /&gt;
* You must have the game installed before you can install the toolset. Please install the game first.&lt;br /&gt;
* If you have installed the game, but not yet run the configure program, you will get this message: &amp;quot;Please launch the Dragon Age: Origins Configure Utility&amp;quot;. This happens automatically the first time you attempt to run the game. After you have successfully configured and launched the game at least once, you should no longer get this error.&lt;br /&gt;
&lt;br /&gt;
If the toolset cannot find DLLs you may need to run the configuration tool after installation to tell the toolset where to find the Dragon Age build. This can happen if you uninstall the toolset and then reinstall it again in a different location.&lt;br /&gt;
&lt;br /&gt;
If you install the toolset in a non-default location, the toolset may not be made aware of where the [[Resource Builder]] has been put. This can be easily fixed by changing the &amp;quot;Resource Build Path&amp;quot; variable found in Options-&amp;gt;Environment.&lt;br /&gt;
&lt;br /&gt;
On Vista and Windows 7 systems you may get a message reading &amp;quot;Windows has blocked some of the features of this program.&amp;quot; It will indicate that the offending program is &amp;quot;Microsoft Register Server&amp;quot;, located at C:\windows\system32\regsvr32.exe. The installer makes use of this program to register the game engine's DLL for use by the toolset. You can choose to block or allow this, the installer will work either way. It is somewhat safer to leave it blocked.&lt;br /&gt;
&lt;br /&gt;
On Windows 7 64 bit you may experience this error durring the installation of the toolset.&lt;br /&gt;
Error opening File or Writing:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files\Common Files\BioWare\Uninstall Dragon Age Toolset.exe&lt;br /&gt;
&lt;br /&gt;
Click Abort to stop the installation,&lt;br /&gt;
Retry to try again, or&lt;br /&gt;
Ignore to skip the file.&lt;br /&gt;
&lt;br /&gt;
The work around for this is to either create the folder &amp;quot;BioWare&amp;quot; in the directory of C:\Program Files\Common Files\ prior to the installation or at the point where the error is experienced. This is due to the installation program not creating the folder &amp;quot;BioWare&amp;quot; in the C:\Program Files (x86)\Common Files. Once this &amp;quot;BioWare&amp;quot; folder is created the installation will complete by clicking on &amp;quot;retry&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
MSSQL Express 2005's installer has a limitation that prevents it from installing to a directory path that's longer than 58 characters.&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/935371]&amp;lt;/sup&amp;gt; Version 1.01 of the toolset installer has addressed this issue by installing the database to a predefined location independant of the location of the game executable.&lt;br /&gt;
&lt;br /&gt;
== Out of memory message even if you have enough RAM ==&lt;br /&gt;
'''Out of memory message''' can occur when you do '''Builder to Player''' package and you file is more than 2GB of RAM even if you have enough RAM for this file. Don't worry - everything is correct with your computer it is just toolset don't see the memory. Just use this file for Toolset exe so the toolset will see it. [http://www.nexusmods.com/dragonage/mods/4571/? I uploaded Patch this for TOOLSET-EXE there in '''Main files''' for your comfort.]&lt;br /&gt;
&lt;br /&gt;
== Empty Palette Window ==&lt;br /&gt;
If after succesful launching of toolset, your window palette is empty, probably the problem is the default language not set to &amp;quot;English&amp;quot; in your DataBase properties:&lt;br /&gt;
* to change it launch Microsoft SQLServer Management Studio Express 2005 (this is covered in [[Manual database installation]])&lt;br /&gt;
* in the Database tree, choose &amp;quot;Security&amp;quot; (translate it in your language)&lt;br /&gt;
* then choose something like, &amp;quot;accounts&amp;quot; or &amp;quot;logins&amp;quot;, then you should see a list of users, including your windows user&lt;br /&gt;
* right click on your username and choose &amp;quot;properties&amp;quot;&lt;br /&gt;
* at bottom right of the window that pop up locate &amp;quot;Default Language&amp;quot;  and change it in &amp;quot;English&amp;quot;&lt;br /&gt;
* click &amp;quot;ok&amp;quot; button &lt;br /&gt;
&lt;br /&gt;
Now the empty palette window should show the resources. ''Thanks to Vreltek for this solution!''&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;[[Unable to connect to the database]]&amp;quot; ==&lt;br /&gt;
If you receive the &amp;quot;unable to connect to the database&amp;quot; error message there are many reasons why this happens, and various ways to correct it.&lt;br /&gt;
&lt;br /&gt;
A new troubleshooting page for this error has been created.  Rather than random suggestions of things to try, it has a troubleshooting flowchart to help you diagnose and fix your problem.  Please visit [[Unable to connect to the database]] for the latest help with this problem.&lt;br /&gt;
&lt;br /&gt;
== Installer hangs at the stage of &amp;quot;Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
In some instances Regsvr32.exe is failing for some unknown reason and refusing to terminate. Version 1.01 of the toolset installer has addressed this problem by no longer waiting for a return value from regsvr32, so the installer should no longer hang at this stage.&lt;br /&gt;
&lt;br /&gt;
See [[Bug: Installer hangs at the stage of Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot;]] for details should you encounter something like this again, or need to register engine.dll manually.&lt;br /&gt;
&lt;br /&gt;
== Other database issues and solutions ==&lt;br /&gt;
&lt;br /&gt;
If you have never installed MSSQLServer Express, check for updates available for it through Windows Update after installing the toolset.&lt;br /&gt;
&lt;br /&gt;
If the SQL install fails with a crash it is possible that it is conflicting with MSXML6. If you have MSXML6 installed, uninstall it and try reinstalling the toolset. See [http://support.microsoft.com/kb/968749 Microsoft's support page on this issue]. If you have trouble uninstalling MSXML6, try the [http://support.microsoft.com/kb/290301 Microsoft Windows Installer Cleanup Utility].&lt;br /&gt;
&lt;br /&gt;
During the SQL Server Express installation when the installation script attempts to start the database, a message box with the &amp;quot;The SQL Server service failed to start...&amp;quot; error message and options to Retry or Cancel may pop up.&lt;br /&gt;
* Do '''not''' click Cancel. Clicking Cancel rolls back the installation, preventing the creation of the BWDATOOLSET database. You will need to reinstall from scratch if this happens.&lt;br /&gt;
* Instead, navigate to and right click on the Protect folder and  open the Properties window. On the Security tab add NETWORK SERVICE to  the list of Groups and User names and grant it Full Permissions. The path to the Protect folder will be:&lt;br /&gt;
** Windows XP: &amp;lt;code&amp;gt;C:\Documents and Settings\NetworkService\Application Data\Microsoft\Protect &amp;lt;/code&amp;gt;&lt;br /&gt;
** Windows 7: &amp;lt;code&amp;gt;C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Protect&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you don't have a Security tab then close the Properties window and select Tools | Folder Options from Explorer's menu bar. In the Folder Options window click on the View tab, scroll to the last option and uncheck Use simple file sharing (Recommended) option. Now you should be able to do complete the previous step.&lt;br /&gt;
* Finally return to the &amp;quot;The SQL Server service failed to start...&amp;quot; error message and click on the Retry option.&lt;br /&gt;
&lt;br /&gt;
The version of MSSQL Server 2005 included with the toolset may have trouble installing on 64-bit operating systems. This can be indicated by SQL Server Error 70047 in the installer's logs. To resolve this problem, install [http://go.microsoft.com/fwlink/?LinkId=55734 Microsoft .NET Framework Version 2.0] for 64-bit architectures before installing the toolset. &amp;lt;!-- ref: http://www.microsoft.com/downloadS/details.aspx?familyid=220549B5-0B07-4448-8848-DCC397514B41&amp;amp;displaylang=en --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may also encounter issues running migration scripts on 64 bit OSes. An alternate migration script can be found here: http://social.bioware.com/project/46/&lt;br /&gt;
&lt;br /&gt;
You may get issues with access permissions. This can be avoided by giving your username admin rights to the database. To do this:&lt;br /&gt;
# Run &amp;quot;SQL Server Surface Area Configuration&amp;quot; (should be on your start menu under Microsoft SQL Server 2005)&lt;br /&gt;
# Select the &amp;quot;Add new administrator&amp;quot; option.&lt;br /&gt;
# Add yourself as administrator.&lt;br /&gt;
&lt;br /&gt;
If you get a syntax error during installation, it could be caused by the path being too long.  Rather than moving your whole install, try this: http://support.microsoft.com/kb/935371&lt;br /&gt;
&lt;br /&gt;
See [[Manual database installation]] for instructions on how to manually set up the database for use with your toolset.&lt;br /&gt;
&lt;br /&gt;
== Windows XP SP 2 and endless reboot cycles after install ==&lt;br /&gt;
&lt;br /&gt;
*See [[Bug: Endless reboot cycles after install under Windows XP SP 2]]&lt;br /&gt;
&lt;br /&gt;
The MSSQL Server Express installer bundled with the toolset has a potential issue when installed on Windows XP Service Pack 2 that can cause an endless cycle of reboots. The toolset installer will warn you not to proceed if it detects SP2 on your system. Dragon Age: Origins has Service Pack 3 as part of its minimum installation requirements, so you should try upgrading to Service Pack 3 and reinstall.&lt;br /&gt;
&lt;br /&gt;
If you're stuck in an endless reboot cycle:&lt;br /&gt;
&lt;br /&gt;
*Press ctrl+alt+del and open the task manager as soon as possible. Failing that, try booting in safe mode by holding down F8 during the boot process.&lt;br /&gt;
*Then go to the start menu and in execute type in &amp;quot;msconfig&amp;quot;&lt;br /&gt;
*In MSConfig go to services and deactivate all the SQL services.&lt;br /&gt;
*Now you can go to control panel...software and uninstall the SQL server from the last piece upward.&lt;br /&gt;
&lt;br /&gt;
Alternately, instead of booting into safe mode after holding down F8 during boot, you can choose the option &amp;quot;Last known good configuration (your most recent settings that worked)&amp;quot;. This may restore your system to a functional state and allow SQL Server to function correctly.&lt;br /&gt;
&lt;br /&gt;
Once you've uninstalled SQL Server this should prevent further reboot cycles. You can now install Windows XP Service Pack 3.&lt;br /&gt;
&lt;br /&gt;
== Externals links for troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
[http://forum.canardpc.com/showthread.php?p=2675920 Canard PC forum] French only :Forum résumant la marche a faire en cas de problèmes. &lt;br /&gt;
&lt;br /&gt;
{{Languages}}&lt;br /&gt;
[[Category:Toolset installation]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Bug:_Out_of_memory_message&amp;diff=19801</id>
		<title>Bug: Out of memory message</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Bug:_Out_of_memory_message&amp;diff=19801"/>
				<updated>2017-06-27T09:56:42Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: Created page with &amp;quot;*'''Version found:''' Final *'''Status:''' Solved  == Description == '''Out of memory message''' can occur when you do '''Builder to Player''' package and you file is more than 2...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*'''Version found:''' Final&lt;br /&gt;
*'''Status:''' Solved&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
'''Out of memory message''' can occur when you do '''Builder to Player''' package and you file is more than 2GB of RAM even if you have enough RAM for this file. &lt;br /&gt;
&lt;br /&gt;
== Workarounds ==&lt;br /&gt;
Don't worry - everything is correct with your computer it is just toolset don't see the memory. Just use this file for Toolset exe so the toolset will see it. [http://www.nexusmods.com/dragonage/mods/4571/? I uploaded Patch this for TOOLSET-EXE there in '''Main files''' for your comfort.]&lt;br /&gt;
&lt;br /&gt;
== Possible causes==&lt;br /&gt;
Toolset don't see the memory.&lt;br /&gt;
[[Category:Toolset bugs]]&lt;br /&gt;
[[Category:Level layout bugs]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Known_issues&amp;diff=19800</id>
		<title>Known issues</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Known_issues&amp;diff=19800"/>
				<updated>2017-06-27T09:54:40Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is somewhat redundant as it duplicates things from pages such as [[Installation troubleshooting]].  However, it is gathering place for issues related to specific builds, along with plans to fix them.&lt;br /&gt;
&lt;br /&gt;
We're now moving detailed bug reports to individual pages, grouped in the category [[:Category:Toolset bugs|Toolset bugs]]. See [[Reporting a bug]] for instructions on how to submit bugs. This page will remain as a high-level summary of current known issues.&lt;br /&gt;
&lt;br /&gt;
==Final Build==&lt;br /&gt;
===Toolset Issues===&lt;br /&gt;
*[[Bug: Out of memory message]]&lt;br /&gt;
&lt;br /&gt;
==Build 1.0.1008.0 (Installer Version 1.01)==&lt;br /&gt;
===Installer Issues===&lt;br /&gt;
&lt;br /&gt;
*[[Bug: Cannot open file for writing C:\Program Files\BioWare\...]]&lt;br /&gt;
&lt;br /&gt;
====[[Unable to connect to the database]]====&lt;br /&gt;
Unfortunately this will always be a potential issue, as it is an issue with connecting to SQL Server 2005 Express, which can fail in as many ways as there are users.  The latest help can be found [[Unable to connect to the database|here]].&lt;br /&gt;
&lt;br /&gt;
===Toolset Issues===&lt;br /&gt;
&lt;br /&gt;
*[[Bug: SpeedTree rendering distance]] - it has been reported that in at least one case a user can't set his tree rendering distance above 20m.&lt;br /&gt;
*[[Bug: ConfigureToolset application fails to set a registry key ]]. This bug requires a workaround if you need to use ConfigureToolset to change your database settings.&lt;br /&gt;
*[[Bug: Computer names with non-English characters can cause checkout problems]]. This can cause checked-out resources to be recognized as checked out to the wrong user, making them impossible to edit.&lt;br /&gt;
*[[Bug: Unable to save a new module]]. This can occur for users with long usernames.&lt;br /&gt;
*[[Bug: Water plane missing in-game]]. Level art that's posted when not in the single player module is missing its water planes.&lt;br /&gt;
&lt;br /&gt;
==Build 1.0.982.19 (Installer Version 1.00)==&lt;br /&gt;
===Installation Issues===&lt;br /&gt;
*[[Bug: Endless reboot cycles after install under Windows XP SP 2]]&lt;br /&gt;
*[[Installation into a directory with a long path name]] (this arose with Steam installations in particular)&lt;br /&gt;
*[[Bug: Installer hangs at the stage of Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot;]]&lt;br /&gt;
*[[Bug: Cannot open file for writing C:\Program Files\BioWare\...]]&lt;br /&gt;
&lt;br /&gt;
====[[Unable to connect to the database]]====&lt;br /&gt;
Unfortunately this will always be a potential issue, as it is an issue with connecting to SQL Server 2005 Express, which can fail in as many ways as there are users.  The latest help can be found [[Unable to connect to the database|here]].&lt;br /&gt;
&lt;br /&gt;
===Toolset Issues===&lt;br /&gt;
&lt;br /&gt;
*[[Bug: GFF and ERF editors require a keyfile]]&lt;br /&gt;
*[[Bug: FaceFX not appearing in menus]]&lt;br /&gt;
*[[Bug: Lightmapper causes shading artifacts along chunk boundaries]]&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - If you create a level with a water plane in it, the water is appearing properly in the toolset, but is non-existent in the game.  &lt;br /&gt;
*[[Bug: Toolset freezes when exporting or compiling]]&lt;br /&gt;
&lt;br /&gt;
====Exporting resources can cause the main campaign to fail, and can corrupt savegames made after installation====&lt;br /&gt;
*See [[Plot GUID bug]], or http://social.bioware.com/forum/1/topic/8/index/114380 for more details, and for information on how to clean up after this error strikes.&lt;br /&gt;
&lt;br /&gt;
An incompatibility has been discovered between the core resources in the database released with the toolset and the core resources used by the existing main campaign. This can cause the main campaign to stop working correctly after any resources are exported from the toolset.&lt;br /&gt;
&lt;br /&gt;
{{Dashedborder|This is fixed in version 1.01 of the toolset.  The underlying problem was identified and fixed, and a new set of core resources has been put into the database that does not give this problem anymore.}}&lt;br /&gt;
&lt;br /&gt;
== Older known issues (Beta issues, needs cleanup) ==&lt;br /&gt;
&lt;br /&gt;
=== Build 925 issues ===&lt;br /&gt;
&lt;br /&gt;
When working on a multiple-monitor system, it is possible that rearranging the monitors will cause the previously-recorded default location of popup windows such as &amp;quot;manage modules&amp;quot; to be off the edge of the display area where it can't be seen or manipulated. This can lock up the toolset, since the toolset won't respond until the popup is dismissed. To reset the position of the popup windows, delete the file &amp;quot;My Documents\BioWare\Dragon Age\Toolset\Layouts3.xml&amp;quot;. It will be recreated the next time the toolset is run using default values.&lt;br /&gt;
&lt;br /&gt;
=== Build 888 issues ===&lt;br /&gt;
&lt;br /&gt;
Build 888 and subsequent builds has some built-in assumptions that it will be installed in &amp;quot;Program Files\Dragon Age&amp;quot;. If it's installed elsewhere, the resource processor (used during certain resource exports, the generation of VO, FaceFX, and other activities) will become confused and fail with log messages such as &amp;quot;Unable to load C:\Programme\Dragon Age\tools\ResourceBuild/Settings/ResourceBuilder.xml&amp;quot; or &amp;quot;Failed to copy template 'C:\Program Files\Dragon Age\tools\ResourceBuild\Processors\VO_template_project.fdp' to 'C:\DOCUME~1\Owner\LOCALS~1\Temp\DragonAgePlaceholderVO\VO_template_project.fdp'&amp;quot; To correct this, go to the Tools -&amp;gt; Options -&amp;gt; Environment -&amp;gt; Resource Build Path setting and correct the path listed there to point to the resource builder's actual location.&lt;br /&gt;
&lt;br /&gt;
This appears to have been resolved in 1.0.982.0&lt;br /&gt;
&lt;br /&gt;
=== Build 773 issues ===&lt;br /&gt;
&lt;br /&gt;
*If you use resource history to view past revisions of a large conversation and then try to diff two of them, the toolset will crash. You can diff small conversations correctly. It's not known exactly what the cutoff between &amp;quot;large&amp;quot; and &amp;quot;small&amp;quot; conversations are as far as this bug is concerned.&lt;br /&gt;
&lt;br /&gt;
*Under Vista, the default install of MSSQL doesn't support multiple different user accounts on the same machine. Attempting to start the toolset from the wrong user account will pop up an error advising that you use the configuration tool to correct the database settings, but the database settings are not in error - it's the database server itself that's refusing to cooperate. One possible solution is to use SQL Server Management Studio Express to set up MSSQL properly.&lt;br /&gt;
&lt;br /&gt;
* When loading a saved game file, areas and objects contained therein are loaded from the save rather than the game resource. This means that if you save your game inside an area, make changes to the area and export them using the toolset, and then reload your game, none of the changes will appear. The changes will only appear if you start a new game. This affects objects such as waypoints, creatures, placeables, and so on.&lt;br /&gt;
&lt;br /&gt;
{{languages}}&lt;br /&gt;
[[Category:Toolset installation]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Installation_troubleshooting&amp;diff=19799</id>
		<title>Installation troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Installation_troubleshooting&amp;diff=19799"/>
				<updated>2017-06-27T09:45:34Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Out of memory message even if you have enough RAM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''NOTE: version 1.00 had a problem with installing to directories with paths longer than 58 characters, which is the default for Steam installations. 1.01 overcomes this problem, and fixes several other important bugs, but if for some reason you wish to install 1.00 see [[Installation with Steam]] for details and a workaround.'''&lt;br /&gt;
&lt;br /&gt;
Refer to [[Known issues]] for the current list of issues that are being worked on, and their status.&lt;br /&gt;
&lt;br /&gt;
See [[Installing the toolset]] for general information and guidance about installing the Dragon Age toolset. If something goes wrong during that process this page may have useful information and advice.&lt;br /&gt;
&lt;br /&gt;
If you experience a crash, logs can be found in &amp;lt;code&amp;gt;My Documents\BioWare\Dragon Age\Toolset\logs&amp;lt;/code&amp;gt;. The log filenames will include the date on which the log file was created. Sending in a log will help greatly with bug fixing.&lt;br /&gt;
&lt;br /&gt;
== General errors ==&lt;br /&gt;
&lt;br /&gt;
If the Dragon Age toolset downloads to near-completion, but you then get the error &amp;quot;[browser] cannot download, etc.  Connection with the server was reset&amp;quot;, this may be due to a downloading management issue.  One solution is to first download an internet download manager (IDM) freeware program (e.g. www.internetdownloadmanager.com/).  Then, once the IDM is installed and in control of your downloads, retry downloading the DA toolset through your default browser.  &lt;br /&gt;
&lt;br /&gt;
If you get the &amp;quot;Dragon Age: Origins game install not found&amp;quot; error when you run the toolset installer:&lt;br /&gt;
* You must have the game installed before you can install the toolset. Please install the game first.&lt;br /&gt;
* If you have installed the game, but not yet run the configure program, you will get this message: &amp;quot;Please launch the Dragon Age: Origins Configure Utility&amp;quot;. This happens automatically the first time you attempt to run the game. After you have successfully configured and launched the game at least once, you should no longer get this error.&lt;br /&gt;
&lt;br /&gt;
If the toolset cannot find DLLs you may need to run the configuration tool after installation to tell the toolset where to find the Dragon Age build. This can happen if you uninstall the toolset and then reinstall it again in a different location.&lt;br /&gt;
&lt;br /&gt;
If you install the toolset in a non-default location, the toolset may not be made aware of where the [[Resource Builder]] has been put. This can be easily fixed by changing the &amp;quot;Resource Build Path&amp;quot; variable found in Options-&amp;gt;Environment.&lt;br /&gt;
&lt;br /&gt;
On Vista and Windows 7 systems you may get a message reading &amp;quot;Windows has blocked some of the features of this program.&amp;quot; It will indicate that the offending program is &amp;quot;Microsoft Register Server&amp;quot;, located at C:\windows\system32\regsvr32.exe. The installer makes use of this program to register the game engine's DLL for use by the toolset. You can choose to block or allow this, the installer will work either way. It is somewhat safer to leave it blocked.&lt;br /&gt;
&lt;br /&gt;
On Windows 7 64 bit you may experience this error durring the installation of the toolset.&lt;br /&gt;
Error opening File or Writing:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files\Common Files\BioWare\Uninstall Dragon Age Toolset.exe&lt;br /&gt;
&lt;br /&gt;
Click Abort to stop the installation,&lt;br /&gt;
Retry to try again, or&lt;br /&gt;
Ignore to skip the file.&lt;br /&gt;
&lt;br /&gt;
The work around for this is to either create the folder &amp;quot;BioWare&amp;quot; in the directory of C:\Program Files\Common Files\ prior to the installation or at the point where the error is experienced. This is due to the installation program not creating the folder &amp;quot;BioWare&amp;quot; in the C:\Program Files (x86)\Common Files. Once this &amp;quot;BioWare&amp;quot; folder is created the installation will complete by clicking on &amp;quot;retry&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
MSSQL Express 2005's installer has a limitation that prevents it from installing to a directory path that's longer than 58 characters.&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/935371]&amp;lt;/sup&amp;gt; Version 1.01 of the toolset installer has addressed this issue by installing the database to a predefined location independant of the location of the game executable.&lt;br /&gt;
&lt;br /&gt;
== Out of memory message even if you have enough RAM ==&lt;br /&gt;
'''Out of memory message''' can occur when you do '''Builder to Player''' package and you file is more than 2GB of RAM even if you have enough RAM for this file. Don't worry - everything is correct with your computer is is just toolset don't see the memory. Just use this file for Toolset exe so the toolset will see it. [http://www.nexusmods.com/dragonage/mods/4571/? I uploaded Patch this for TOOLSET-EXE there in '''Main files''' for your comfort.]&lt;br /&gt;
&lt;br /&gt;
== Empty Palette Window ==&lt;br /&gt;
If after succesful launching of toolset, your window palette is empty, probably the problem is the default language not set to &amp;quot;English&amp;quot; in your DataBase properties:&lt;br /&gt;
* to change it launch Microsoft SQLServer Management Studio Express 2005 (this is covered in [[Manual database installation]])&lt;br /&gt;
* in the Database tree, choose &amp;quot;Security&amp;quot; (translate it in your language)&lt;br /&gt;
* then choose something like, &amp;quot;accounts&amp;quot; or &amp;quot;logins&amp;quot;, then you should see a list of users, including your windows user&lt;br /&gt;
* right click on your username and choose &amp;quot;properties&amp;quot;&lt;br /&gt;
* at bottom right of the window that pop up locate &amp;quot;Default Language&amp;quot;  and change it in &amp;quot;English&amp;quot;&lt;br /&gt;
* click &amp;quot;ok&amp;quot; button &lt;br /&gt;
&lt;br /&gt;
Now the empty palette window should show the resources. ''Thanks to Vreltek for this solution!''&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;[[Unable to connect to the database]]&amp;quot; ==&lt;br /&gt;
If you receive the &amp;quot;unable to connect to the database&amp;quot; error message there are many reasons why this happens, and various ways to correct it.&lt;br /&gt;
&lt;br /&gt;
A new troubleshooting page for this error has been created.  Rather than random suggestions of things to try, it has a troubleshooting flowchart to help you diagnose and fix your problem.  Please visit [[Unable to connect to the database]] for the latest help with this problem.&lt;br /&gt;
&lt;br /&gt;
== Installer hangs at the stage of &amp;quot;Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
In some instances Regsvr32.exe is failing for some unknown reason and refusing to terminate. Version 1.01 of the toolset installer has addressed this problem by no longer waiting for a return value from regsvr32, so the installer should no longer hang at this stage.&lt;br /&gt;
&lt;br /&gt;
See [[Bug: Installer hangs at the stage of Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot;]] for details should you encounter something like this again, or need to register engine.dll manually.&lt;br /&gt;
&lt;br /&gt;
== Other database issues and solutions ==&lt;br /&gt;
&lt;br /&gt;
If you have never installed MSSQLServer Express, check for updates available for it through Windows Update after installing the toolset.&lt;br /&gt;
&lt;br /&gt;
If the SQL install fails with a crash it is possible that it is conflicting with MSXML6. If you have MSXML6 installed, uninstall it and try reinstalling the toolset. See [http://support.microsoft.com/kb/968749 Microsoft's support page on this issue]. If you have trouble uninstalling MSXML6, try the [http://support.microsoft.com/kb/290301 Microsoft Windows Installer Cleanup Utility].&lt;br /&gt;
&lt;br /&gt;
During the SQL Server Express installation when the installation script attempts to start the database, a message box with the &amp;quot;The SQL Server service failed to start...&amp;quot; error message and options to Retry or Cancel may pop up.&lt;br /&gt;
* Do '''not''' click Cancel. Clicking Cancel rolls back the installation, preventing the creation of the BWDATOOLSET database. You will need to reinstall from scratch if this happens.&lt;br /&gt;
* Instead, navigate to and right click on the Protect folder and  open the Properties window. On the Security tab add NETWORK SERVICE to  the list of Groups and User names and grant it Full Permissions. The path to the Protect folder will be:&lt;br /&gt;
** Windows XP: &amp;lt;code&amp;gt;C:\Documents and Settings\NetworkService\Application Data\Microsoft\Protect &amp;lt;/code&amp;gt;&lt;br /&gt;
** Windows 7: &amp;lt;code&amp;gt;C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Protect&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you don't have a Security tab then close the Properties window and select Tools | Folder Options from Explorer's menu bar. In the Folder Options window click on the View tab, scroll to the last option and uncheck Use simple file sharing (Recommended) option. Now you should be able to do complete the previous step.&lt;br /&gt;
* Finally return to the &amp;quot;The SQL Server service failed to start...&amp;quot; error message and click on the Retry option.&lt;br /&gt;
&lt;br /&gt;
The version of MSSQL Server 2005 included with the toolset may have trouble installing on 64-bit operating systems. This can be indicated by SQL Server Error 70047 in the installer's logs. To resolve this problem, install [http://go.microsoft.com/fwlink/?LinkId=55734 Microsoft .NET Framework Version 2.0] for 64-bit architectures before installing the toolset. &amp;lt;!-- ref: http://www.microsoft.com/downloadS/details.aspx?familyid=220549B5-0B07-4448-8848-DCC397514B41&amp;amp;displaylang=en --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may also encounter issues running migration scripts on 64 bit OSes. An alternate migration script can be found here: http://social.bioware.com/project/46/&lt;br /&gt;
&lt;br /&gt;
You may get issues with access permissions. This can be avoided by giving your username admin rights to the database. To do this:&lt;br /&gt;
# Run &amp;quot;SQL Server Surface Area Configuration&amp;quot; (should be on your start menu under Microsoft SQL Server 2005)&lt;br /&gt;
# Select the &amp;quot;Add new administrator&amp;quot; option.&lt;br /&gt;
# Add yourself as administrator.&lt;br /&gt;
&lt;br /&gt;
If you get a syntax error during installation, it could be caused by the path being too long.  Rather than moving your whole install, try this: http://support.microsoft.com/kb/935371&lt;br /&gt;
&lt;br /&gt;
See [[Manual database installation]] for instructions on how to manually set up the database for use with your toolset.&lt;br /&gt;
&lt;br /&gt;
== Windows XP SP 2 and endless reboot cycles after install ==&lt;br /&gt;
&lt;br /&gt;
*See [[Bug: Endless reboot cycles after install under Windows XP SP 2]]&lt;br /&gt;
&lt;br /&gt;
The MSSQL Server Express installer bundled with the toolset has a potential issue when installed on Windows XP Service Pack 2 that can cause an endless cycle of reboots. The toolset installer will warn you not to proceed if it detects SP2 on your system. Dragon Age: Origins has Service Pack 3 as part of its minimum installation requirements, so you should try upgrading to Service Pack 3 and reinstall.&lt;br /&gt;
&lt;br /&gt;
If you're stuck in an endless reboot cycle:&lt;br /&gt;
&lt;br /&gt;
*Press ctrl+alt+del and open the task manager as soon as possible. Failing that, try booting in safe mode by holding down F8 during the boot process.&lt;br /&gt;
*Then go to the start menu and in execute type in &amp;quot;msconfig&amp;quot;&lt;br /&gt;
*In MSConfig go to services and deactivate all the SQL services.&lt;br /&gt;
*Now you can go to control panel...software and uninstall the SQL server from the last piece upward.&lt;br /&gt;
&lt;br /&gt;
Alternately, instead of booting into safe mode after holding down F8 during boot, you can choose the option &amp;quot;Last known good configuration (your most recent settings that worked)&amp;quot;. This may restore your system to a functional state and allow SQL Server to function correctly.&lt;br /&gt;
&lt;br /&gt;
Once you've uninstalled SQL Server this should prevent further reboot cycles. You can now install Windows XP Service Pack 3.&lt;br /&gt;
&lt;br /&gt;
== Externals links for troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
[http://forum.canardpc.com/showthread.php?p=2675920 Canard PC forum] French only :Forum résumant la marche a faire en cas de problèmes. &lt;br /&gt;
&lt;br /&gt;
{{Languages}}&lt;br /&gt;
[[Category:Toolset installation]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Installation_troubleshooting&amp;diff=19798</id>
		<title>Installation troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Installation_troubleshooting&amp;diff=19798"/>
				<updated>2017-06-27T09:44:42Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Out of memory message even if you have enough RAM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''NOTE: version 1.00 had a problem with installing to directories with paths longer than 58 characters, which is the default for Steam installations. 1.01 overcomes this problem, and fixes several other important bugs, but if for some reason you wish to install 1.00 see [[Installation with Steam]] for details and a workaround.'''&lt;br /&gt;
&lt;br /&gt;
Refer to [[Known issues]] for the current list of issues that are being worked on, and their status.&lt;br /&gt;
&lt;br /&gt;
See [[Installing the toolset]] for general information and guidance about installing the Dragon Age toolset. If something goes wrong during that process this page may have useful information and advice.&lt;br /&gt;
&lt;br /&gt;
If you experience a crash, logs can be found in &amp;lt;code&amp;gt;My Documents\BioWare\Dragon Age\Toolset\logs&amp;lt;/code&amp;gt;. The log filenames will include the date on which the log file was created. Sending in a log will help greatly with bug fixing.&lt;br /&gt;
&lt;br /&gt;
== General errors ==&lt;br /&gt;
&lt;br /&gt;
If the Dragon Age toolset downloads to near-completion, but you then get the error &amp;quot;[browser] cannot download, etc.  Connection with the server was reset&amp;quot;, this may be due to a downloading management issue.  One solution is to first download an internet download manager (IDM) freeware program (e.g. www.internetdownloadmanager.com/).  Then, once the IDM is installed and in control of your downloads, retry downloading the DA toolset through your default browser.  &lt;br /&gt;
&lt;br /&gt;
If you get the &amp;quot;Dragon Age: Origins game install not found&amp;quot; error when you run the toolset installer:&lt;br /&gt;
* You must have the game installed before you can install the toolset. Please install the game first.&lt;br /&gt;
* If you have installed the game, but not yet run the configure program, you will get this message: &amp;quot;Please launch the Dragon Age: Origins Configure Utility&amp;quot;. This happens automatically the first time you attempt to run the game. After you have successfully configured and launched the game at least once, you should no longer get this error.&lt;br /&gt;
&lt;br /&gt;
If the toolset cannot find DLLs you may need to run the configuration tool after installation to tell the toolset where to find the Dragon Age build. This can happen if you uninstall the toolset and then reinstall it again in a different location.&lt;br /&gt;
&lt;br /&gt;
If you install the toolset in a non-default location, the toolset may not be made aware of where the [[Resource Builder]] has been put. This can be easily fixed by changing the &amp;quot;Resource Build Path&amp;quot; variable found in Options-&amp;gt;Environment.&lt;br /&gt;
&lt;br /&gt;
On Vista and Windows 7 systems you may get a message reading &amp;quot;Windows has blocked some of the features of this program.&amp;quot; It will indicate that the offending program is &amp;quot;Microsoft Register Server&amp;quot;, located at C:\windows\system32\regsvr32.exe. The installer makes use of this program to register the game engine's DLL for use by the toolset. You can choose to block or allow this, the installer will work either way. It is somewhat safer to leave it blocked.&lt;br /&gt;
&lt;br /&gt;
On Windows 7 64 bit you may experience this error durring the installation of the toolset.&lt;br /&gt;
Error opening File or Writing:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files\Common Files\BioWare\Uninstall Dragon Age Toolset.exe&lt;br /&gt;
&lt;br /&gt;
Click Abort to stop the installation,&lt;br /&gt;
Retry to try again, or&lt;br /&gt;
Ignore to skip the file.&lt;br /&gt;
&lt;br /&gt;
The work around for this is to either create the folder &amp;quot;BioWare&amp;quot; in the directory of C:\Program Files\Common Files\ prior to the installation or at the point where the error is experienced. This is due to the installation program not creating the folder &amp;quot;BioWare&amp;quot; in the C:\Program Files (x86)\Common Files. Once this &amp;quot;BioWare&amp;quot; folder is created the installation will complete by clicking on &amp;quot;retry&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
MSSQL Express 2005's installer has a limitation that prevents it from installing to a directory path that's longer than 58 characters.&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/935371]&amp;lt;/sup&amp;gt; Version 1.01 of the toolset installer has addressed this issue by installing the database to a predefined location independant of the location of the game executable.&lt;br /&gt;
&lt;br /&gt;
== Out of memory message even if you have enough RAM ==&lt;br /&gt;
'''Out of memory message''' can occur when you do '''Builder to Player''' package and you file is more thatn 2GB of RAM even if you have enough RAM for this file. Don't worry - everything is correct with your computer is is just toolset don't see the memory. Just use this file for Toolset exe so the toolset will see it. [http://www.nexusmods.com/dragonage/mods/4571/? I uploaded Patch this for TOOLSET-EXE there in '''Main files''' for your comfort.]&lt;br /&gt;
&lt;br /&gt;
== Empty Palette Window ==&lt;br /&gt;
If after succesful launching of toolset, your window palette is empty, probably the problem is the default language not set to &amp;quot;English&amp;quot; in your DataBase properties:&lt;br /&gt;
* to change it launch Microsoft SQLServer Management Studio Express 2005 (this is covered in [[Manual database installation]])&lt;br /&gt;
* in the Database tree, choose &amp;quot;Security&amp;quot; (translate it in your language)&lt;br /&gt;
* then choose something like, &amp;quot;accounts&amp;quot; or &amp;quot;logins&amp;quot;, then you should see a list of users, including your windows user&lt;br /&gt;
* right click on your username and choose &amp;quot;properties&amp;quot;&lt;br /&gt;
* at bottom right of the window that pop up locate &amp;quot;Default Language&amp;quot;  and change it in &amp;quot;English&amp;quot;&lt;br /&gt;
* click &amp;quot;ok&amp;quot; button &lt;br /&gt;
&lt;br /&gt;
Now the empty palette window should show the resources. ''Thanks to Vreltek for this solution!''&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;[[Unable to connect to the database]]&amp;quot; ==&lt;br /&gt;
If you receive the &amp;quot;unable to connect to the database&amp;quot; error message there are many reasons why this happens, and various ways to correct it.&lt;br /&gt;
&lt;br /&gt;
A new troubleshooting page for this error has been created.  Rather than random suggestions of things to try, it has a troubleshooting flowchart to help you diagnose and fix your problem.  Please visit [[Unable to connect to the database]] for the latest help with this problem.&lt;br /&gt;
&lt;br /&gt;
== Installer hangs at the stage of &amp;quot;Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
In some instances Regsvr32.exe is failing for some unknown reason and refusing to terminate. Version 1.01 of the toolset installer has addressed this problem by no longer waiting for a return value from regsvr32, so the installer should no longer hang at this stage.&lt;br /&gt;
&lt;br /&gt;
See [[Bug: Installer hangs at the stage of Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot;]] for details should you encounter something like this again, or need to register engine.dll manually.&lt;br /&gt;
&lt;br /&gt;
== Other database issues and solutions ==&lt;br /&gt;
&lt;br /&gt;
If you have never installed MSSQLServer Express, check for updates available for it through Windows Update after installing the toolset.&lt;br /&gt;
&lt;br /&gt;
If the SQL install fails with a crash it is possible that it is conflicting with MSXML6. If you have MSXML6 installed, uninstall it and try reinstalling the toolset. See [http://support.microsoft.com/kb/968749 Microsoft's support page on this issue]. If you have trouble uninstalling MSXML6, try the [http://support.microsoft.com/kb/290301 Microsoft Windows Installer Cleanup Utility].&lt;br /&gt;
&lt;br /&gt;
During the SQL Server Express installation when the installation script attempts to start the database, a message box with the &amp;quot;The SQL Server service failed to start...&amp;quot; error message and options to Retry or Cancel may pop up.&lt;br /&gt;
* Do '''not''' click Cancel. Clicking Cancel rolls back the installation, preventing the creation of the BWDATOOLSET database. You will need to reinstall from scratch if this happens.&lt;br /&gt;
* Instead, navigate to and right click on the Protect folder and  open the Properties window. On the Security tab add NETWORK SERVICE to  the list of Groups and User names and grant it Full Permissions. The path to the Protect folder will be:&lt;br /&gt;
** Windows XP: &amp;lt;code&amp;gt;C:\Documents and Settings\NetworkService\Application Data\Microsoft\Protect &amp;lt;/code&amp;gt;&lt;br /&gt;
** Windows 7: &amp;lt;code&amp;gt;C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Protect&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you don't have a Security tab then close the Properties window and select Tools | Folder Options from Explorer's menu bar. In the Folder Options window click on the View tab, scroll to the last option and uncheck Use simple file sharing (Recommended) option. Now you should be able to do complete the previous step.&lt;br /&gt;
* Finally return to the &amp;quot;The SQL Server service failed to start...&amp;quot; error message and click on the Retry option.&lt;br /&gt;
&lt;br /&gt;
The version of MSSQL Server 2005 included with the toolset may have trouble installing on 64-bit operating systems. This can be indicated by SQL Server Error 70047 in the installer's logs. To resolve this problem, install [http://go.microsoft.com/fwlink/?LinkId=55734 Microsoft .NET Framework Version 2.0] for 64-bit architectures before installing the toolset. &amp;lt;!-- ref: http://www.microsoft.com/downloadS/details.aspx?familyid=220549B5-0B07-4448-8848-DCC397514B41&amp;amp;displaylang=en --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may also encounter issues running migration scripts on 64 bit OSes. An alternate migration script can be found here: http://social.bioware.com/project/46/&lt;br /&gt;
&lt;br /&gt;
You may get issues with access permissions. This can be avoided by giving your username admin rights to the database. To do this:&lt;br /&gt;
# Run &amp;quot;SQL Server Surface Area Configuration&amp;quot; (should be on your start menu under Microsoft SQL Server 2005)&lt;br /&gt;
# Select the &amp;quot;Add new administrator&amp;quot; option.&lt;br /&gt;
# Add yourself as administrator.&lt;br /&gt;
&lt;br /&gt;
If you get a syntax error during installation, it could be caused by the path being too long.  Rather than moving your whole install, try this: http://support.microsoft.com/kb/935371&lt;br /&gt;
&lt;br /&gt;
See [[Manual database installation]] for instructions on how to manually set up the database for use with your toolset.&lt;br /&gt;
&lt;br /&gt;
== Windows XP SP 2 and endless reboot cycles after install ==&lt;br /&gt;
&lt;br /&gt;
*See [[Bug: Endless reboot cycles after install under Windows XP SP 2]]&lt;br /&gt;
&lt;br /&gt;
The MSSQL Server Express installer bundled with the toolset has a potential issue when installed on Windows XP Service Pack 2 that can cause an endless cycle of reboots. The toolset installer will warn you not to proceed if it detects SP2 on your system. Dragon Age: Origins has Service Pack 3 as part of its minimum installation requirements, so you should try upgrading to Service Pack 3 and reinstall.&lt;br /&gt;
&lt;br /&gt;
If you're stuck in an endless reboot cycle:&lt;br /&gt;
&lt;br /&gt;
*Press ctrl+alt+del and open the task manager as soon as possible. Failing that, try booting in safe mode by holding down F8 during the boot process.&lt;br /&gt;
*Then go to the start menu and in execute type in &amp;quot;msconfig&amp;quot;&lt;br /&gt;
*In MSConfig go to services and deactivate all the SQL services.&lt;br /&gt;
*Now you can go to control panel...software and uninstall the SQL server from the last piece upward.&lt;br /&gt;
&lt;br /&gt;
Alternately, instead of booting into safe mode after holding down F8 during boot, you can choose the option &amp;quot;Last known good configuration (your most recent settings that worked)&amp;quot;. This may restore your system to a functional state and allow SQL Server to function correctly.&lt;br /&gt;
&lt;br /&gt;
Once you've uninstalled SQL Server this should prevent further reboot cycles. You can now install Windows XP Service Pack 3.&lt;br /&gt;
&lt;br /&gt;
== Externals links for troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
[http://forum.canardpc.com/showthread.php?p=2675920 Canard PC forum] French only :Forum résumant la marche a faire en cas de problèmes. &lt;br /&gt;
&lt;br /&gt;
{{Languages}}&lt;br /&gt;
[[Category:Toolset installation]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Installation_troubleshooting&amp;diff=19797</id>
		<title>Installation troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Installation_troubleshooting&amp;diff=19797"/>
				<updated>2017-06-27T09:43:52Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* General errors */  Out of memory is a big issue&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''NOTE: version 1.00 had a problem with installing to directories with paths longer than 58 characters, which is the default for Steam installations. 1.01 overcomes this problem, and fixes several other important bugs, but if for some reason you wish to install 1.00 see [[Installation with Steam]] for details and a workaround.'''&lt;br /&gt;
&lt;br /&gt;
Refer to [[Known issues]] for the current list of issues that are being worked on, and their status.&lt;br /&gt;
&lt;br /&gt;
See [[Installing the toolset]] for general information and guidance about installing the Dragon Age toolset. If something goes wrong during that process this page may have useful information and advice.&lt;br /&gt;
&lt;br /&gt;
If you experience a crash, logs can be found in &amp;lt;code&amp;gt;My Documents\BioWare\Dragon Age\Toolset\logs&amp;lt;/code&amp;gt;. The log filenames will include the date on which the log file was created. Sending in a log will help greatly with bug fixing.&lt;br /&gt;
&lt;br /&gt;
== General errors ==&lt;br /&gt;
&lt;br /&gt;
If the Dragon Age toolset downloads to near-completion, but you then get the error &amp;quot;[browser] cannot download, etc.  Connection with the server was reset&amp;quot;, this may be due to a downloading management issue.  One solution is to first download an internet download manager (IDM) freeware program (e.g. www.internetdownloadmanager.com/).  Then, once the IDM is installed and in control of your downloads, retry downloading the DA toolset through your default browser.  &lt;br /&gt;
&lt;br /&gt;
If you get the &amp;quot;Dragon Age: Origins game install not found&amp;quot; error when you run the toolset installer:&lt;br /&gt;
* You must have the game installed before you can install the toolset. Please install the game first.&lt;br /&gt;
* If you have installed the game, but not yet run the configure program, you will get this message: &amp;quot;Please launch the Dragon Age: Origins Configure Utility&amp;quot;. This happens automatically the first time you attempt to run the game. After you have successfully configured and launched the game at least once, you should no longer get this error.&lt;br /&gt;
&lt;br /&gt;
If the toolset cannot find DLLs you may need to run the configuration tool after installation to tell the toolset where to find the Dragon Age build. This can happen if you uninstall the toolset and then reinstall it again in a different location.&lt;br /&gt;
&lt;br /&gt;
If you install the toolset in a non-default location, the toolset may not be made aware of where the [[Resource Builder]] has been put. This can be easily fixed by changing the &amp;quot;Resource Build Path&amp;quot; variable found in Options-&amp;gt;Environment.&lt;br /&gt;
&lt;br /&gt;
On Vista and Windows 7 systems you may get a message reading &amp;quot;Windows has blocked some of the features of this program.&amp;quot; It will indicate that the offending program is &amp;quot;Microsoft Register Server&amp;quot;, located at C:\windows\system32\regsvr32.exe. The installer makes use of this program to register the game engine's DLL for use by the toolset. You can choose to block or allow this, the installer will work either way. It is somewhat safer to leave it blocked.&lt;br /&gt;
&lt;br /&gt;
On Windows 7 64 bit you may experience this error durring the installation of the toolset.&lt;br /&gt;
Error opening File or Writing:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files\Common Files\BioWare\Uninstall Dragon Age Toolset.exe&lt;br /&gt;
&lt;br /&gt;
Click Abort to stop the installation,&lt;br /&gt;
Retry to try again, or&lt;br /&gt;
Ignore to skip the file.&lt;br /&gt;
&lt;br /&gt;
The work around for this is to either create the folder &amp;quot;BioWare&amp;quot; in the directory of C:\Program Files\Common Files\ prior to the installation or at the point where the error is experienced. This is due to the installation program not creating the folder &amp;quot;BioWare&amp;quot; in the C:\Program Files (x86)\Common Files. Once this &amp;quot;BioWare&amp;quot; folder is created the installation will complete by clicking on &amp;quot;retry&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
MSSQL Express 2005's installer has a limitation that prevents it from installing to a directory path that's longer than 58 characters.&amp;lt;sup&amp;gt;[http://support.microsoft.com/kb/935371]&amp;lt;/sup&amp;gt; Version 1.01 of the toolset installer has addressed this issue by installing the database to a predefined location independant of the location of the game executable.&lt;br /&gt;
&lt;br /&gt;
== Out of memory message even if you have enough RAM ==&lt;br /&gt;
'''Out of memory message''' can occur when you do '''Builder to Player''' package and you file is more thatn 2GB of RAM. Don't worry - everything is correct with your computer is is just toolset dont see the memory. Just use this file for Toolset exe so the toolset will see it. [http://www.nexusmods.com/dragonage/mods/4571/? I uploaded Patch this for TOOLSET-EXE there in '''Main files''' for your comfort.]&lt;br /&gt;
&lt;br /&gt;
== Empty Palette Window ==&lt;br /&gt;
If after succesful launching of toolset, your window palette is empty, probably the problem is the default language not set to &amp;quot;English&amp;quot; in your DataBase properties:&lt;br /&gt;
* to change it launch Microsoft SQLServer Management Studio Express 2005 (this is covered in [[Manual database installation]])&lt;br /&gt;
* in the Database tree, choose &amp;quot;Security&amp;quot; (translate it in your language)&lt;br /&gt;
* then choose something like, &amp;quot;accounts&amp;quot; or &amp;quot;logins&amp;quot;, then you should see a list of users, including your windows user&lt;br /&gt;
* right click on your username and choose &amp;quot;properties&amp;quot;&lt;br /&gt;
* at bottom right of the window that pop up locate &amp;quot;Default Language&amp;quot;  and change it in &amp;quot;English&amp;quot;&lt;br /&gt;
* click &amp;quot;ok&amp;quot; button &lt;br /&gt;
&lt;br /&gt;
Now the empty palette window should show the resources. ''Thanks to Vreltek for this solution!''&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;[[Unable to connect to the database]]&amp;quot; ==&lt;br /&gt;
If you receive the &amp;quot;unable to connect to the database&amp;quot; error message there are many reasons why this happens, and various ways to correct it.&lt;br /&gt;
&lt;br /&gt;
A new troubleshooting page for this error has been created.  Rather than random suggestions of things to try, it has a troubleshooting flowchart to help you diagnose and fix your problem.  Please visit [[Unable to connect to the database]] for the latest help with this problem.&lt;br /&gt;
&lt;br /&gt;
== Installer hangs at the stage of &amp;quot;Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
In some instances Regsvr32.exe is failing for some unknown reason and refusing to terminate. Version 1.01 of the toolset installer has addressed this problem by no longer waiting for a return value from regsvr32, so the installer should no longer hang at this stage.&lt;br /&gt;
&lt;br /&gt;
See [[Bug: Installer hangs at the stage of Execute:regsvr32.exe /s &amp;quot;C:\Dragon Age\tools\Engine.dll&amp;quot;]] for details should you encounter something like this again, or need to register engine.dll manually.&lt;br /&gt;
&lt;br /&gt;
== Other database issues and solutions ==&lt;br /&gt;
&lt;br /&gt;
If you have never installed MSSQLServer Express, check for updates available for it through Windows Update after installing the toolset.&lt;br /&gt;
&lt;br /&gt;
If the SQL install fails with a crash it is possible that it is conflicting with MSXML6. If you have MSXML6 installed, uninstall it and try reinstalling the toolset. See [http://support.microsoft.com/kb/968749 Microsoft's support page on this issue]. If you have trouble uninstalling MSXML6, try the [http://support.microsoft.com/kb/290301 Microsoft Windows Installer Cleanup Utility].&lt;br /&gt;
&lt;br /&gt;
During the SQL Server Express installation when the installation script attempts to start the database, a message box with the &amp;quot;The SQL Server service failed to start...&amp;quot; error message and options to Retry or Cancel may pop up.&lt;br /&gt;
* Do '''not''' click Cancel. Clicking Cancel rolls back the installation, preventing the creation of the BWDATOOLSET database. You will need to reinstall from scratch if this happens.&lt;br /&gt;
* Instead, navigate to and right click on the Protect folder and  open the Properties window. On the Security tab add NETWORK SERVICE to  the list of Groups and User names and grant it Full Permissions. The path to the Protect folder will be:&lt;br /&gt;
** Windows XP: &amp;lt;code&amp;gt;C:\Documents and Settings\NetworkService\Application Data\Microsoft\Protect &amp;lt;/code&amp;gt;&lt;br /&gt;
** Windows 7: &amp;lt;code&amp;gt;C:\Users\&amp;lt;username&amp;gt;\AppData\Roaming\Microsoft\Protect&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you don't have a Security tab then close the Properties window and select Tools | Folder Options from Explorer's menu bar. In the Folder Options window click on the View tab, scroll to the last option and uncheck Use simple file sharing (Recommended) option. Now you should be able to do complete the previous step.&lt;br /&gt;
* Finally return to the &amp;quot;The SQL Server service failed to start...&amp;quot; error message and click on the Retry option.&lt;br /&gt;
&lt;br /&gt;
The version of MSSQL Server 2005 included with the toolset may have trouble installing on 64-bit operating systems. This can be indicated by SQL Server Error 70047 in the installer's logs. To resolve this problem, install [http://go.microsoft.com/fwlink/?LinkId=55734 Microsoft .NET Framework Version 2.0] for 64-bit architectures before installing the toolset. &amp;lt;!-- ref: http://www.microsoft.com/downloadS/details.aspx?familyid=220549B5-0B07-4448-8848-DCC397514B41&amp;amp;displaylang=en --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may also encounter issues running migration scripts on 64 bit OSes. An alternate migration script can be found here: http://social.bioware.com/project/46/&lt;br /&gt;
&lt;br /&gt;
You may get issues with access permissions. This can be avoided by giving your username admin rights to the database. To do this:&lt;br /&gt;
# Run &amp;quot;SQL Server Surface Area Configuration&amp;quot; (should be on your start menu under Microsoft SQL Server 2005)&lt;br /&gt;
# Select the &amp;quot;Add new administrator&amp;quot; option.&lt;br /&gt;
# Add yourself as administrator.&lt;br /&gt;
&lt;br /&gt;
If you get a syntax error during installation, it could be caused by the path being too long.  Rather than moving your whole install, try this: http://support.microsoft.com/kb/935371&lt;br /&gt;
&lt;br /&gt;
See [[Manual database installation]] for instructions on how to manually set up the database for use with your toolset.&lt;br /&gt;
&lt;br /&gt;
== Windows XP SP 2 and endless reboot cycles after install ==&lt;br /&gt;
&lt;br /&gt;
*See [[Bug: Endless reboot cycles after install under Windows XP SP 2]]&lt;br /&gt;
&lt;br /&gt;
The MSSQL Server Express installer bundled with the toolset has a potential issue when installed on Windows XP Service Pack 2 that can cause an endless cycle of reboots. The toolset installer will warn you not to proceed if it detects SP2 on your system. Dragon Age: Origins has Service Pack 3 as part of its minimum installation requirements, so you should try upgrading to Service Pack 3 and reinstall.&lt;br /&gt;
&lt;br /&gt;
If you're stuck in an endless reboot cycle:&lt;br /&gt;
&lt;br /&gt;
*Press ctrl+alt+del and open the task manager as soon as possible. Failing that, try booting in safe mode by holding down F8 during the boot process.&lt;br /&gt;
*Then go to the start menu and in execute type in &amp;quot;msconfig&amp;quot;&lt;br /&gt;
*In MSConfig go to services and deactivate all the SQL services.&lt;br /&gt;
*Now you can go to control panel...software and uninstall the SQL server from the last piece upward.&lt;br /&gt;
&lt;br /&gt;
Alternately, instead of booting into safe mode after holding down F8 during boot, you can choose the option &amp;quot;Last known good configuration (your most recent settings that worked)&amp;quot;. This may restore your system to a functional state and allow SQL Server to function correctly.&lt;br /&gt;
&lt;br /&gt;
Once you've uninstalled SQL Server this should prevent further reboot cycles. You can now install Windows XP Service Pack 3.&lt;br /&gt;
&lt;br /&gt;
== Externals links for troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
[http://forum.canardpc.com/showthread.php?p=2675920 Canard PC forum] French only :Forum résumant la marche a faire en cas de problèmes. &lt;br /&gt;
&lt;br /&gt;
{{Languages}}&lt;br /&gt;
[[Category:Toolset installation]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Community_Contest_ID_Ranges&amp;diff=19796</id>
		<title>Community Contest ID Ranges</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Community_Contest_ID_Ranges&amp;diff=19796"/>
				<updated>2017-06-27T09:30:52Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: Ladyofpayne (The Demon)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Community Contest]]&lt;br /&gt;
[[File:Community_Contest_back.jpg|link=Community_Contest_Main_Page]] [[File:CC_BSN_GetInvolved.jpg|link=http://social.bioware.com/group/2535/&amp;amp;v=discussions]]&lt;br /&gt;
&lt;br /&gt;
So that all Community Contest entries are compatible with one another and also with other mods that are around, IDs must not conflict. To ensure this, we must reserve ID ranges for strings and 2da ranges.&lt;br /&gt;
&lt;br /&gt;
= String ranges = &lt;br /&gt;
&lt;br /&gt;
Please modify this table to reserve String IDs '''before you use them''' (to avoid lost work). Append within our range if required. Please do not use from outside this range.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''89000000''' &lt;br /&gt;
| '''89999999''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 89000000&lt;br /&gt;
| 89099999&lt;br /&gt;
| Organiser reserved range&lt;br /&gt;
|-&lt;br /&gt;
| ''89001000''&lt;br /&gt;
| ''89001999''&lt;br /&gt;
| ''CC6 bundle''&lt;br /&gt;
|-&lt;br /&gt;
| ''89002000''&lt;br /&gt;
| ''89002099''&lt;br /&gt;
| ''CC7 framework''&lt;br /&gt;
|-&lt;br /&gt;
| 89100000&lt;br /&gt;
| 89100999&lt;br /&gt;
| Cuvieronius&lt;br /&gt;
|-&lt;br /&gt;
| 89101000&lt;br /&gt;
| 89101999&lt;br /&gt;
| Vaylise&lt;br /&gt;
|-&lt;br /&gt;
| 89102000&lt;br /&gt;
| 89102999&lt;br /&gt;
| BAPACop&lt;br /&gt;
|-&lt;br /&gt;
| 89103000&lt;br /&gt;
| 89103999&lt;br /&gt;
| BloodsongVengeance&lt;br /&gt;
|-&lt;br /&gt;
| 89104000&lt;br /&gt;
| 89104999&lt;br /&gt;
| Jackkel Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 2023729186&lt;br /&gt;
| 2023739186&lt;br /&gt;
| Ladyofpayne (The Demon)&lt;br /&gt;
|-&lt;br /&gt;
| 89105000&lt;br /&gt;
| 89105999&lt;br /&gt;
| Lord Uber Dowzen (uberdowzen)&lt;br /&gt;
|-&lt;br /&gt;
| 89106000&lt;br /&gt;
| 89106999&lt;br /&gt;
| Shadow5973&lt;br /&gt;
|-&lt;br /&gt;
| 89107000&lt;br /&gt;
| 89107999&lt;br /&gt;
| Lobo&lt;br /&gt;
|-&lt;br /&gt;
| 89108000&lt;br /&gt;
| 89108999&lt;br /&gt;
| mikemike37&lt;br /&gt;
|-&lt;br /&gt;
| 89109000&lt;br /&gt;
| 89109999&lt;br /&gt;
| Mengtzu&lt;br /&gt;
|-&lt;br /&gt;
| 89110000&lt;br /&gt;
| 89110999&lt;br /&gt;
| Fenodsnacer (Fenod)&lt;br /&gt;
|-&lt;br /&gt;
| 89111000&lt;br /&gt;
| 89111999&lt;br /&gt;
| Fenodsnacer (Fenod)&lt;br /&gt;
|-&lt;br /&gt;
| 89112000&lt;br /&gt;
| 89112999&lt;br /&gt;
| Fenodsnacer (Fenod)&lt;br /&gt;
|-&lt;br /&gt;
| 89113000&lt;br /&gt;
| 89113999&lt;br /&gt;
| Fenodsnacer (Fenod)&lt;br /&gt;
|-&lt;br /&gt;
| 89114000&lt;br /&gt;
| 89114999&lt;br /&gt;
| Fenodsnacer (Fenod)&lt;br /&gt;
|-&lt;br /&gt;
| 89115000&lt;br /&gt;
| 89115999&lt;br /&gt;
| Fenodsnacer (Fenod)&lt;br /&gt;
|-&lt;br /&gt;
| 89116000&lt;br /&gt;
| 89116999&lt;br /&gt;
| Fenodsnacer (Fenod)&lt;br /&gt;
|-&lt;br /&gt;
| 89117000&lt;br /&gt;
| 89117999&lt;br /&gt;
| Fenodsnacer (Fenod)&lt;br /&gt;
|-&lt;br /&gt;
| 89118000&lt;br /&gt;
| 89118999&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|-&lt;br /&gt;
| 89119000&lt;br /&gt;
| 89122999&lt;br /&gt;
| BlackPhi&lt;br /&gt;
|-&lt;br /&gt;
| 89123000&lt;br /&gt;
| 89123999&lt;br /&gt;
| uberdowzen&lt;br /&gt;
|-&lt;br /&gt;
| 89124000&lt;br /&gt;
| 89124999&lt;br /&gt;
| Sunjammer&lt;br /&gt;
|-&lt;br /&gt;
| 89125000&lt;br /&gt;
| 89125999&lt;br /&gt;
| Mengtzu&lt;br /&gt;
|-&lt;br /&gt;
| 89126000&lt;br /&gt;
| 89126999&lt;br /&gt;
| Mengtzu&lt;br /&gt;
|-&lt;br /&gt;
| 89127000&lt;br /&gt;
| 89127999&lt;br /&gt;
| AngelusMortem&lt;br /&gt;
|-)&lt;br /&gt;
| 89128000&lt;br /&gt;
| 89128999&lt;br /&gt;
| joyous1ariella&lt;br /&gt;
|-)&lt;br /&gt;
| 89129000&lt;br /&gt;
| 89129999&lt;br /&gt;
| TheWretchedOne&lt;br /&gt;
|-)&lt;br /&gt;
| 89130000&lt;br /&gt;
| 89130999&lt;br /&gt;
| Bokthersa&lt;br /&gt;
|-)&lt;br /&gt;
&lt;br /&gt;
=== Why reserve an ID range? ===&lt;br /&gt;
This prevents the need for other modders to change your strings. This prevents any chance of overlapping IDs with other entries or other mods. This means that if you attach voice to conversations, or specify a StringID in a 2da, these connections will not be broken when others use your mod.&lt;br /&gt;
&lt;br /&gt;
=== How many do I reserve? ===&lt;br /&gt;
Just take 1000 unless you need more. Do not take less, we've got plenty to spare ;)&lt;br /&gt;
&lt;br /&gt;
=== How do I set my module to use those strings? ===&lt;br /&gt;
&lt;br /&gt;
* While logged in to builder wiki (same as login here), edit the page to put your name next to the range.&lt;br /&gt;
* In Toolset, go File &amp;gt; Manage Modules &amp;gt; (select your module) &amp;gt; Properties&lt;br /&gt;
* Set the following:&lt;br /&gt;
** StringID Begin&lt;br /&gt;
** StringID End&lt;br /&gt;
** StringID Last Used&lt;br /&gt;
* Hit OK and close dialogue.&lt;br /&gt;
&lt;br /&gt;
= 2da Ranges =&lt;br /&gt;
&lt;br /&gt;
We have reserved 24000 - 26000 in most 2das. Please reserve as many as you anticipate you will need, but don't be wasteful (reserving 200 when you only need 6 is wasteful). If you need hundreds, it's probably worth reserving your own range outside of the contest range.&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
=== M2DA_base ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24499&lt;br /&gt;
| Organiser reserved range&lt;br /&gt;
|-&lt;br /&gt;
| 24500&lt;br /&gt;
| 24509&lt;br /&gt;
| mikemike37&lt;br /&gt;
|-&lt;br /&gt;
| 24510&lt;br /&gt;
| 24519&lt;br /&gt;
| (please keep extending this list as requried)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ABI_base ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24499&lt;br /&gt;
| Organiser reserved range&lt;br /&gt;
|-&lt;br /&gt;
| 24500&lt;br /&gt;
| 24509&lt;br /&gt;
| mikemike37&lt;br /&gt;
|-&lt;br /&gt;
| 24510&lt;br /&gt;
| 24513&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|-&lt;br /&gt;
| 24513&lt;br /&gt;
| 24519&lt;br /&gt;
| (please keep extending this list as requried)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== placeable_types ===&lt;br /&gt;
&lt;br /&gt;
''nb a bug is causing the range of 24000 and above to not work in-game so we're using 14000-16000 instead.''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''14000''' &lt;br /&gt;
| '''16000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 14000&lt;br /&gt;
| 14499&lt;br /&gt;
| Organiser reserved range&lt;br /&gt;
|-&lt;br /&gt;
| 14500&lt;br /&gt;
| 14509&lt;br /&gt;
| mikemike37&lt;br /&gt;
|-&lt;br /&gt;
| 14510&lt;br /&gt;
| 14519&lt;br /&gt;
| BlackPhi&lt;br /&gt;
|-&lt;br /&gt;
| 14520&lt;br /&gt;
| 14529&lt;br /&gt;
| (please keep extending this list as requried)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== areadata ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24009&lt;br /&gt;
| BlackPhi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== BITM_base ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24001&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== guitypes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24001&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== itemprps ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24003&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== itemstats ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24001&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== JobBoardPlots ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24001&lt;br /&gt;
| CC7 Framework&lt;br /&gt;
|-&lt;br /&gt;
| 24002&lt;br /&gt;
| 24006&lt;br /&gt;
| BlackPhi&lt;br /&gt;
|-&lt;br /&gt;
| 24007&lt;br /&gt;
| 24007&lt;br /&gt;
| Mengtzu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== JobBoards ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24000&lt;br /&gt;
| CC7 Framework&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== materialrules ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24001&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== materialtypes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24001&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== prcscr ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24001&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|-&lt;br /&gt;
| 24002&lt;br /&gt;
| 24002&lt;br /&gt;
| CC7 Framework&lt;br /&gt;
|-&lt;br /&gt;
| 24003&lt;br /&gt;
| 24006&lt;br /&gt;
| BlackPhi&lt;br /&gt;
|-&lt;br /&gt;
| 24007&lt;br /&gt;
| 24007&lt;br /&gt;
| CC7 Framework&lt;br /&gt;
|-&lt;br /&gt;
| 24008&lt;br /&gt;
| 24019&lt;br /&gt;
| BlackPhi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== sound_item_materials ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24001&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== sound_weapon_actions ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24001&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== sound_weapon_hits ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24001&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ts_material ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24001&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== vfx_base ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Range Begin&lt;br /&gt;
! Range End&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''24000''' &lt;br /&gt;
| '''26000''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| 24000&lt;br /&gt;
| 24003&lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Variation sheets ==&lt;br /&gt;
&lt;br /&gt;
=== weapons and shields ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Sheet&lt;br /&gt;
! ID reserved&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''All variations sheets'''&lt;br /&gt;
| '''140 - 160''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| mace_variation&lt;br /&gt;
| 140&lt;br /&gt;
| mikemike37&lt;br /&gt;
|-&lt;br /&gt;
| mace_variation&lt;br /&gt;
| 141 &lt;br /&gt;
| Fenodsnalcer&lt;br /&gt;
|-&lt;br /&gt;
| mace_variation&lt;br /&gt;
| 142 &lt;br /&gt;
| BlackPhi&lt;br /&gt;
|-&lt;br /&gt;
| staff_variation&lt;br /&gt;
| 140&lt;br /&gt;
| BlackPhi&lt;br /&gt;
|-&lt;br /&gt;
| staff_variation&lt;br /&gt;
| 141&lt;br /&gt;
| Helekanalaith&lt;br /&gt;
|-&lt;br /&gt;
| waraxe_variation&lt;br /&gt;
| 140 &lt;br /&gt;
| Fenodsnalcer&lt;br /&gt;
|-&lt;br /&gt;
| maul_variation&lt;br /&gt;
| 140 &lt;br /&gt;
| Fenodsnalcer&lt;br /&gt;
|-&lt;br /&gt;
| longsword_variation&lt;br /&gt;
| 150 - 151&lt;br /&gt;
| Adonnay&lt;br /&gt;
|-&lt;br /&gt;
| greatsword_variation&lt;br /&gt;
| 140 and 143 &lt;br /&gt;
| Fenodsnalcer&lt;br /&gt;
|-&lt;br /&gt;
| greatsword_variation&lt;br /&gt;
| 142 &lt;br /&gt;
| Nattfodd&lt;br /&gt;
|-&lt;br /&gt;
| dagger_variation&lt;br /&gt;
| 140-141 &lt;br /&gt;
| Fenodsnalcer&lt;br /&gt;
|-&lt;br /&gt;
| dagger_variation&lt;br /&gt;
| 142 &lt;br /&gt;
| Gisle Aune&lt;br /&gt;
|-&lt;br /&gt;
| battleaxe_variation&lt;br /&gt;
| 140 &lt;br /&gt;
| Fenodsnalcer&lt;br /&gt;
|-&lt;br /&gt;
| bolt_variation&lt;br /&gt;
| 140 &lt;br /&gt;
| InBleedingRapture&lt;br /&gt;
|-&lt;br /&gt;
| kite_shield_variation&lt;br /&gt;
| 155&lt;br /&gt;
| ladyofpayne&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
=== armour and clothes ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Sheet&lt;br /&gt;
! ID reserved&lt;br /&gt;
! Used by&lt;br /&gt;
|- style=&amp;quot;color:#ff6666;&amp;quot;&lt;br /&gt;
| '''All variations sheets'''&lt;br /&gt;
| '''140 - 160''' &lt;br /&gt;
| '''Entire CC Range (to be divided up)'''&lt;br /&gt;
|-&lt;br /&gt;
| armor_light_variation&lt;br /&gt;
| 140 &lt;br /&gt;
| BlackPhi&lt;br /&gt;
|-&lt;br /&gt;
| clothing_variation&lt;br /&gt;
| 140&lt;br /&gt;
| joyous1ariella&lt;br /&gt;
|-&lt;br /&gt;
| clothing_variation&lt;br /&gt;
| 161&lt;br /&gt;
| ladyofpayne&lt;br /&gt;
|-&lt;br /&gt;
| armor_light_variation&lt;br /&gt;
| 142&lt;br /&gt;
| Vaylise&lt;br /&gt;
|-&lt;br /&gt;
| helmet_light_variation&lt;br /&gt;
| 140&lt;br /&gt;
| BlackPhi&lt;br /&gt;
|-&lt;br /&gt;
| staff_variation&lt;br /&gt;
| 142 &lt;br /&gt;
| TheWretchedOne&lt;br /&gt;
|-&lt;br /&gt;
| gloves_massive_variation&lt;br /&gt;
| 141 &lt;br /&gt;
| example - delete me!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= World Map Pins = &lt;br /&gt;
&lt;br /&gt;
Community Contest #7 requires map pins to be added to the existing Single Player maps.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Map !! X !! Y !! Used by &lt;br /&gt;
|-&lt;br /&gt;
| Wide Open World || 605 || 570 || CC#7 Framework Tutorial&lt;br /&gt;
|-&lt;br /&gt;
| Wide Open World || 371 || 424 || BlackPhi&lt;br /&gt;
|-&lt;br /&gt;
| Wide Open World || 600 || 278 || BlackPhi&lt;br /&gt;
|-&lt;br /&gt;
| Wide Open World || 699 || 293 || uberdowzen&lt;br /&gt;
|-&lt;br /&gt;
| Wide Open World || 72 || 594 || Mengtzu&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19795</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19795"/>
				<updated>2017-06-27T09:24:36Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Textures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into '''Documents\BioWare\Dragon Age\AddIns\your Module_ID\module\override''' in the same folders as models. Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
&lt;br /&gt;
Save your '''.LVL''' files in Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
1) '''NOTE:ALWAYS port your custom levels from SINGLE PLAYER!''' Manage modules-&amp;gt; Single Player-&amp;gt; open your '''LVL''' there.&lt;br /&gt;
&lt;br /&gt;
2) Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3) Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4) Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5) Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area. Files will be ported into Documents\BioWare\Dragon Age\Toolset. Or use Search for each location name in Documents.&lt;br /&gt;
&lt;br /&gt;
6) All files have to be in folder in '''Documents\BioWare\Dragon Age\addins\your Module_ID\core\override\toolsetexport'''. Each model has to be organised and be in it's own folder. Your Custom model and texture files has to be in '''Documents\BioWare\Dragon Age\AddIns\your Module_ID\module\override'''&lt;br /&gt;
&lt;br /&gt;
Make sure that your folder has all type of files (PHY, DDS, XML, ARL, MAO, MMH, MSH, RIM, RML) also with folders Textures and trees. When you will make Builder to player packed you will be asked to delete not need files anyway.&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
7) The end. Test your levels in areas and make Builder to Player.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19794</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19794"/>
				<updated>2017-06-27T09:23:57Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into '''Documents\BioWare\Dragon Age\AddIns\your Module_ID\module\override''' Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
&lt;br /&gt;
Save your '''.LVL''' files in Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
1) '''NOTE:ALWAYS port your custom levels from SINGLE PLAYER!''' Manage modules-&amp;gt; Single Player-&amp;gt; open your '''LVL''' there.&lt;br /&gt;
&lt;br /&gt;
2) Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3) Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4) Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5) Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area. Files will be ported into Documents\BioWare\Dragon Age\Toolset. Or use Search for each location name in Documents.&lt;br /&gt;
&lt;br /&gt;
6) All files have to be in folder in '''Documents\BioWare\Dragon Age\addins\your Module_ID\core\override\toolsetexport'''. Each model has to be organised and be in it's own folder. Your Custom model and texture files has to be in '''Documents\BioWare\Dragon Age\AddIns\your Module_ID\module\override'''&lt;br /&gt;
&lt;br /&gt;
Make sure that your folder has all type of files (PHY, DDS, XML, ARL, MAO, MMH, MSH, RIM, RML) also with folders Textures and trees. When you will make Builder to player packed you will be asked to delete not need files anyway.&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
7) The end. Test your levels in areas and make Builder to Player.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19793</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19793"/>
				<updated>2017-06-27T09:23:39Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Textures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into '''Documents\BioWare\Dragon Age\AddIns\your Module_ID\module\override''' Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
&lt;br /&gt;
Save your '''.LVL''' files in Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
1) '''NOTE:ALWAYS port your custom levels from SINGLE PLAYER!''' Manage modules-&amp;gt; Single Player-&amp;gt; open your '''LVL''' there.&lt;br /&gt;
&lt;br /&gt;
2) Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3) Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4) Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5) Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area. Files will be ported into Documents\BioWare\Dragon Age\Toolset. Or use Search for each location name in Documents.&lt;br /&gt;
&lt;br /&gt;
6) All files have to be in folder in '''Documents\BioWare\Dragon Age\addins\your Module_ID\core\override\toolsetexport'''. Each model has to be organised and be in it's own folder. Your Custom model files has to be in '''Documents\BioWare\Dragon Age\AddIns\your Module_ID\module\override'''&lt;br /&gt;
&lt;br /&gt;
Make sure that your folder has all type of files (PHY, DDS, XML, ARL, MAO, MMH, MSH, RIM, RML) also with folders Textures and trees. When you will make Builder to player packed you will be asked to delete not need files anyway.&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
7) The end. Test your levels in areas and make Builder to Player.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19792</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19792"/>
				<updated>2017-06-27T09:22:20Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your module ID\core\data\your_folder. Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
&lt;br /&gt;
Save your '''.LVL''' files in Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
1) '''NOTE:ALWAYS port your custom levels from SINGLE PLAYER!''' Manage modules-&amp;gt; Single Player-&amp;gt; open your '''LVL''' there.&lt;br /&gt;
&lt;br /&gt;
2) Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3) Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4) Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5) Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area. Files will be ported into Documents\BioWare\Dragon Age\Toolset. Or use Search for each location name in Documents.&lt;br /&gt;
&lt;br /&gt;
6) All files have to be in folder in '''Documents\BioWare\Dragon Age\addins\your Module_ID\core\override\toolsetexport'''. Each model has to be organised and be in it's own folder. Your Custom model files has to be in '''Documents\BioWare\Dragon Age\AddIns\your Module_ID\module\override'''&lt;br /&gt;
&lt;br /&gt;
Make sure that your folder has all type of files (PHY, DDS, XML, ARL, MAO, MMH, MSH, RIM, RML) also with folders Textures and trees. When you will make Builder to player packed you will be asked to delete not need files anyway.&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
7) The end. Test your levels in areas and make Builder to Player.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19791</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19791"/>
				<updated>2017-06-27T09:16:48Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your module ID\core\data\your_folder. Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
Save your '''.LVL''' files in Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
1) '''NOTE:ALWAYS port your custom levels from SINGLE PLAYER!''' Manage modules-&amp;gt; Single Player-&amp;gt; open your '''LVL''' there.&lt;br /&gt;
&lt;br /&gt;
2) Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3) Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4) Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5) Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area.&lt;br /&gt;
&lt;br /&gt;
6) All files have to be in folder in '''Documents\BioWare\Dragon Age\addins\your Module_ID\core\override\toolsetexport'''. Each model has to be organised and be in it's own folder.&lt;br /&gt;
&lt;br /&gt;
Make sure that your folder has all type of files. When you will make Builder to player packed you will be asked to delete not need files anyway.&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
7) The end. Test your levels in areas and make Builder to Player.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19790</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19790"/>
				<updated>2017-06-27T09:16:01Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Export LVL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your module ID\core\data\your_folder. Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
Save your '''.LVL''' files in Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
1) '''NOTE:ALWAYS port your custom levels from SINGLE PLAYER!''' Manage modules-&amp;gt; Single Player-&amp;gt; open your '''LVL''' there.&lt;br /&gt;
&lt;br /&gt;
2) Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3) Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4) Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5) Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area.&lt;br /&gt;
&lt;br /&gt;
6) All files have to be in folder in Documents\BioWare\Dragon Age\addins\your Module_ID\core\override\toolsetexport Each model has to be organised and be in it's own folder.&lt;br /&gt;
&lt;br /&gt;
Make sure that your folder has all type of files. When you will make Builder to player packed you will be asked to delete not need files anyway.&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
7) The end. Test your levels in areas and make Builder to Player.&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19789</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19789"/>
				<updated>2017-06-27T09:15:54Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your module ID\core\data\your_folder. Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
Save your '''.LVL''' files in Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
1) '''NOTE:ALWAYS port your custom levels from SINGLE PLAYER!''' Manage modules-&amp;gt; Single Player-&amp;gt; open your '''LVL''' there.&lt;br /&gt;
&lt;br /&gt;
2) Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3) Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4) Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5) Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area.&lt;br /&gt;
&lt;br /&gt;
6) All files have to be in folder in Documents\BioWare\Dragon Age\addins\your Module_ID\core\override\toolsetexport Each model has to be organised and be in it's own folder.&lt;br /&gt;
&lt;br /&gt;
Make sure that your folder has all type of files. When you will make Builder to player packed you will be asked to delete not need files anyway.&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
7) The end. Test your levels in areas and make Builder to Player.&lt;br /&gt;
&lt;br /&gt;
== Export LVL ==&lt;br /&gt;
&lt;br /&gt;
1. Save your '''.LVL''' files in C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2. Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3. Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4. Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5. Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area.&lt;br /&gt;
&lt;br /&gt;
6. Put all your files this way C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\override\toolsetexport&lt;br /&gt;
&lt;br /&gt;
7. Make sure that your folder has all type of files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19788</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19788"/>
				<updated>2017-06-27T09:11:59Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your module ID\core\data\your_folder. Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
1) '''NOTE:ALWAYS eport your custom levels from SINGLE PLAYER!''' Manage modules-&amp;gt; Single Player-&amp;gt; open your LVL there.&lt;br /&gt;
Next steps:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All files have to be in folder in Documents\BioWare\Dragon Age\addins\your_module_id\core\override\toolsetexport Each model has to be organised and be in it's own folder.&lt;br /&gt;
&lt;br /&gt;
== Export LVL ==&lt;br /&gt;
&lt;br /&gt;
1. Save your '''.LVL''' files in C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2. Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3. Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4. Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5. Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area.&lt;br /&gt;
&lt;br /&gt;
6. Put all your files this way C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\override\toolsetexport&lt;br /&gt;
&lt;br /&gt;
7. Make sure that your folder has all type of files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	<entry>
		<id>http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19743</id>
		<title>Adding custom level tutorial</title>
		<link rel="alternate" type="text/html" href="http://www.datoolset.net/mw/index.php?title=Adding_custom_level_tutorial&amp;diff=19743"/>
				<updated>2016-08-07T11:52:03Z</updated>
		
		<summary type="html">&lt;p&gt;Ladyofpayne: /* Export LVL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Author: Ladyofpayne&lt;br /&gt;
*3ds max (gmax) no older than 2011 year - Eshme Import/Export DAO Tools doesn't work with new versions.&lt;br /&gt;
*[http://www.nexusmods.com/dragonage/mods/895/? Eshme Import/Export DAO Tools] - Script for 3s max&lt;br /&gt;
*Dragon Age Origins and Dragon Age Toolset - install it in the same folder as the game.&lt;br /&gt;
*Adobe Photoshop and Nvidia DDS Plugin for textures.&lt;br /&gt;
*[http://social.bioware.com/project/2637/ mesh lightmap fixes] - Install this project.&lt;br /&gt;
*Engine won't work with models bigger than 45 000 polygons and 30 000 vertexes. Even if it works still make sure your model isn't too complex - Lightmapping render can be failed.&lt;br /&gt;
&lt;br /&gt;
'''Before we begin extract all DAO resources and keep it somewhere. You will need them.'''&lt;br /&gt;
&lt;br /&gt;
You can use also the toolset to extract the model and textures, but fisrt you need to know the name of what you are looking for, in the tooset go File-&amp;gt;Open file-&amp;gt; /packages/core/data/modelmeshdata.erf there you have some strings to help you find the models:&lt;br /&gt;
&lt;br /&gt;
armours: arm_ +armour type; gloves: glv_; boots: boo_; clothes: cth_; robes: rob_; helmets:hlh_; weapons: w_+ weapon type; shield:w_shd; hair: har_; props:prp_;placeabes:plc_;&lt;br /&gt;
creature: c_; npc creatures: cn_; children: kn_;&lt;br /&gt;
&lt;br /&gt;
for races and genders you have human/elf/dwarf/qunari followed by the gender female/male, so human male: hm_; dwarf female: df_; etc.&lt;br /&gt;
&lt;br /&gt;
*'''in the modelmeshdata.erf you need extract the .msh files''' the _0 files are the model you see in game when using the armour/cloth, the _2 and _3 files are the low level of detail (LOD) models, when other NPCs are using them and they are far away from you.&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/modelmeshhierarchy.erf you need extract the .mmh and .phy files.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the .../core/data/materialobjects.erf you need to extract the .mao file.'''&lt;br /&gt;
&lt;br /&gt;
*'''in the files .../core/data/textures.erf (props, placeables) and/or .../core/textures/high/textures.erf (characters and armours) you need to extract the .dds files''', in those files the letter for the races in the file's name are changed to p, so human male, dwarf male, elf male, qunari male are all: pm_, because they all use the same texture.&lt;br /&gt;
&lt;br /&gt;
== Script Settings ==&lt;br /&gt;
&lt;br /&gt;
Watch where you install Eshme script - program files(x86) for 32 programs at 64 bit computers. Eshme script and the game have to be in one folder of program files.&lt;br /&gt;
&lt;br /&gt;
Take Eshme Import/Export: Startup, YAGG and  DAOTools -&amp;gt; put into C(your disc):/Program Files/Autodesk/3dsmax/Scripts -&amp;gt; scripts &lt;br /&gt;
&lt;br /&gt;
If your installation is correct them when you first open 3d man you will see window with the settings&lt;br /&gt;
&lt;br /&gt;
In Game Path HAVE to be  folder of the game C:\Program Files (x86)\Dragon Age, in Export Path folder Override in folders C:\Program Files (x86)\Dragon Age\packages\core\override.&lt;br /&gt;
&lt;br /&gt;
Next sctar of 3d max you can begin your work in 3 d Max -&amp;gt; Run Script.&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
Size of the texture have to be :4 1024 -&amp;gt; 2048 -&amp;gt; 4096 -&amp;gt; 8192. You will need 3 type of them and you probably need to connect textures because DAO engine works only with one material at one model. Put them all in one file and make the same posistion for each part of every type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Text1.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Diffuse map. Has &amp;quot;_d&amp;quot; letter in the name. What your model will looks like. Create Alpha channel and make it white inless you have parts than need to have &amp;quot;holes&amp;quot; in it. Then it will looks like that:&lt;br /&gt;
&lt;br /&gt;
[[File:Alpha1ex.png|border]]&lt;br /&gt;
&lt;br /&gt;
2) Normal map. Has &amp;quot;_n&amp;quot; letter in the name. It is grey texture. Just save your Diffuse map with this settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How it has to looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Normalex.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Spectacular map. Has &amp;quot;_s&amp;quot; letter in the name and '''necessary for the lightmapping'''. Just take duffise texture the modify it image-&amp;gt; adjustments -&amp;gt;brightness brightness:45, contrast: 95 and copy its blue channel to alpa. The texture is ready.&lt;br /&gt;
&lt;br /&gt;
Save you textures. Normal map settings is listed above. Diffuse and Spectacular settings:&lt;br /&gt;
&lt;br /&gt;
[[File:Therestsave.png|border|50%]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) All textures put into C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your module ID\core\data\your_folder. Each model has to be organised and be in it's own folder. Make sure each model has all 3 types of textures and each type has it's letter. '''Example:''' prp_namemodel_'''0d''', prp_namemodel_'''0n''', prp_namemodel_'''0s'''.&lt;br /&gt;
&lt;br /&gt;
== Materials ==&lt;br /&gt;
Select your model and on the panel above use '''Rendering-&amp;gt; Material editor-&amp;gt; Compact material editor''' Then click on '''Get Material''' and choose from the list '''Dragon Age Material'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Materialeditor.png|border]]&lt;br /&gt;
[[File:Materialwork.png|border]]&lt;br /&gt;
&lt;br /&gt;
In '''Material Type''' choose '''Prop Default''', in '''Render Semantics''' – '''Default (Opaque Prop)\ Trasparent if you have any transparency'''. Select your texture in '''Texture Maps''' - diffuse, normal and specular. Select your model and click on '''Assign Material to Selection''' (1) and use '''Show Map in Viewport''' (2). Now give your material proper name without '''_0''' in the end. Example: if your model texture is named is prp_orl_bed_0d name the material prp_orl_bed.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_material.png|border]]&lt;br /&gt;
&lt;br /&gt;
== More than one texture ==&lt;br /&gt;
Necessary step if you connect more then one texture for a model. But even if your model has only one texture it is better to make sure evertything is correct.&lt;br /&gt;
&lt;br /&gt;
Select your model and then open '''Modifiers-&amp;gt; UV Coordinates- &amp;gt; Unwrap UVW'''&lt;br /&gt;
&lt;br /&gt;
You will see something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Editingmaterials.png|border]]&lt;br /&gt;
&lt;br /&gt;
Geen lines are coordinates of textures on the model. '''Dragon age: Oginins engine  work with only one material and can &amp;quot;see&amp;quot; everything ONLY inside the bolder square form the picture.''' WChoose as background texture if your model and now move all green lines so it will cover it like is has to be. You can move materials one by one by choosing them in All ID's. You can change scale of coordinates, rotate them and do all manipulations you see necessary to make your coordinates fit to texture inside the square just like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Mated2.png|border]]&lt;br /&gt;
&lt;br /&gt;
Save and close Unwrap UVW.&lt;br /&gt;
&lt;br /&gt;
== 3d Max ==&lt;br /&gt;
After you finish working with the materials and the textures you can work with the model now. If your model looks rough change it by '''Right click -&amp;gt; convert to Editable Poly-&amp;gt; Vertex-&amp;gt; Select all (CTRL+ A)-&amp;gt; Weld'''. Before next step finish all fixes: '''Unwrap UVW, material and textures.''' If you move to next step without fixing you have to redo it from the beginning later.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_Convertintomesh.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
1 - Right click on a model and select '''&amp;quot;Convert into editable poly&amp;quot;'''&amp;gt; In '''modifier list choose and add 2 Unwrap UVW''' to your model. In the second one you have to change '''map channel''' to 2 - this is the channel needed for lighmapping.&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_cuteditmaterials.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2 - For the rest part you need to look for this video becaue I cannot describe how this part supposed to work but you have to follow my instructions while you working with the materials. [https://youtu.be/m8DFXmIGJZc Dragon Age Modding: Creating Props using 3ds max]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 - While you using '''Runscript-&amp;gt; manage models''' -&amp;gt; look for your models and make sure they have those settings. Change collision Walkable\ Non walkable if this object lies on the floor.&lt;br /&gt;
Mesh:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletealll.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collision:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_deletepixel.jpg|border]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Run script-&amp;gt; export and name your files with '''_0''' in the end. '''EXAMPLE:''' prp_yourmodel_0. Since you use textures for the whole group you folders for each model has to be in one big folder for your group. Like this:&lt;br /&gt;
&lt;br /&gt;
[[File:LOP_materialgroup.jpg|border]]&lt;br /&gt;
&lt;br /&gt;
5 - After you port the model open MAO file with the Notepad and '''JUST''' after line '''&amp;lt;DefaultSemantic Name=&amp;quot;Blend&amp;quot;&amp;gt;&amp;lt;/DefaultSemantic&amp;gt;''' add this line '''&amp;lt;Texture Name=&amp;quot;mml_tLightmap&amp;quot; ResName=&amp;quot;LM.dds&amp;quot; RequiresID=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Texture&amp;gt;'''. Now save the file.&lt;br /&gt;
&lt;br /&gt;
== Models for scaling ==&lt;br /&gt;
You can test the collision by pressing button &amp;quot;Fade cutaway&amp;quot; and see which models disappear - those don't have collision. You can change it by set '''Override Cutaway: false''' if you use model without collision. Now press &amp;quot;Fade cutaway&amp;quot; - the model will be in level now. You don't have collision to cover your whole model- you need it cover only part on the ground so your character won't walk through the model.&lt;br /&gt;
=== Level ===&lt;br /&gt;
*&amp;quot;wallfull1_0&amp;quot; - '''Both'''. Wall with collision. Use it when you need wall.&lt;br /&gt;
*&amp;quot;wallfulldoor1_0&amp;quot; - '''Both'''. Door arch with collision. Use it when you need an arch without door.&lt;br /&gt;
*&amp;quot;support1_0&amp;quot; - '''Both'''. Two columns with collision. Use it when you need column- collision is cylindric form.&lt;br /&gt;
*tti_top01_01 - '''TTI ONLY.Celing without collision. '''Use it when you need an item on the ceiling without collision.&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
*prp_painting_01_0 - painting on a wall with collision.&lt;br /&gt;
*prp_chestornat01_0 - chest with collision.&lt;br /&gt;
*prp_chair_01_0 - chair with collision.&lt;br /&gt;
*prp_table_01_0 - table with collision.&lt;br /&gt;
*prp_tevbookshelf1_0 - bookshelf with collision.&lt;br /&gt;
*prp_vase_01_0 - vase with collision.&lt;br /&gt;
*prp_bed01_0 - bed with collision.&lt;br /&gt;
*prp_statandraste_0 - statue andraste with collision.&lt;br /&gt;
*prp_cand04_0 - chandelier from above no collision.&lt;br /&gt;
*prp_dwfrug2_0 - rug on the floor.&lt;br /&gt;
*fca_floor01_0 - floor with collision.&lt;br /&gt;
&lt;br /&gt;
== Export==&lt;br /&gt;
All files have to be in folder in C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your module ID\module\override\yourfolder. Each model has to be organised and be in it's own folder.&lt;br /&gt;
&lt;br /&gt;
== Export LVL ==&lt;br /&gt;
&lt;br /&gt;
1. Save your '''.LVL''' files in C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\env. Make sure '''.ERF''' and '''.ERF.BACK''' are here too after you press &amp;quot;Do All Local post&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2. Add minimap. Right click, then select Minimap &amp;gt; Minimap Selection Tool. The default green box appears. Right click on the area again, Minimap &amp;gt; Post Minimap to Local. It's possible to handcraft or refine the minimap, as detailed under [[Custom minimaps]].&lt;br /&gt;
&lt;br /&gt;
3. Press Button '''&amp;quot;Render lightmaps&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
4. Press button  '''&amp;quot;Set Start point&amp;quot;''' for Pathfinding -&amp;gt; Press button '''&amp;quot;Generate pathfinding&amp;quot;'''. '''NOTE:  Pathfinding is not possible for two overlapping height levels. Also generation fails if you put the start point in collision (non-walkable part) so watch carefully where do you put it.'''&lt;br /&gt;
&lt;br /&gt;
5. Press button  '''&amp;quot;Do All Local post&amp;quot;''' - this will export your level and you can use it in your area.&lt;br /&gt;
&lt;br /&gt;
6. Put all your files this way C:\Users\User\Documents\BioWare\Dragon Age\AddIns\your Module_ID\core\override\toolsetexport&lt;br /&gt;
&lt;br /&gt;
7. Make sure that your folder has all type of files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Yourlvl_FOLDER.PNG|border]]&lt;br /&gt;
&lt;br /&gt;
== Useful links ==&lt;br /&gt;
*[[Installing the toolset]] - very important for program troubleshooting. NVIDIA_PhysX section- if you have pathfinding generation problems.&lt;br /&gt;
*[[Bug: Water plane missing in-game]] - how to fix this bug and make your water appear in the game.&lt;br /&gt;
*[[Lighting Tutorial]] - Lightmapping  troubleshooting.&lt;br /&gt;
*[[Level Editor Tutorial]] and [[Level tutorial]] - General advises.&lt;br /&gt;
*[[Adding custom armor tutorial]] - How to add your own armor.&lt;br /&gt;
*[[Adding custom shield tutorial]] - How to add your own shield.&lt;br /&gt;
*The .lvl files from DAO [http://social.bioware.com/project/1331/#files the Single player and core resource source files] project, if you wish to modify the layouts in the [[level editor]].&lt;br /&gt;
*[http://www.greentoken.de/onlineconv/ 3D converter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Ladyofpayne</name></author>	</entry>

	</feed>