Xenon 173 7 марта, 2009 (изменено) Тема в стадии разработки. Первый пост будет дополняться. Пока просьба никаких инструкций в этот топик не постить. Только отвечать на вопросы юзеров. Создаю эту тему так как мне был задан вопрос "как делать моды", и в этот момент до меня дошло что KOTOR Tool (по которому есть тема) этот вопрос явно не раскрывает. Для создания грамотных модов нужно довольно много разных программ, а тему по KOTOR Tool всё же лучше ограничить вопросами касающимися непосредственно самой программы. Искренне надеюсь на помощь знающих людей в развитии темы т.к. сама я с таким объёмом информации просто не справлюсь. Итак... Как делать моды? Сперва пройдёмся по программам: Самая первая программа которая вам понадобится, это без сомнения KOTOR Tool. Делать она умеет многое, в том числе редактировать диалоги. Но не забываем что редактировать диалоги для второй части игры в ней нельзя. Только для первой. Инача диалоги будут испорчены. А для редактирования диалогов нам нужен... DLGEditor - программа для редактирования диалогов в обеих частях игры. ERF/RIM Editor - прогрямма для распаковки и запаковки ресурсов игры. Читай - модулей игры. Создание собственного модуля для KOTOR I - подробный туториал от WeAreLegion Создание квестов для KOTOR I - подробный туториал от WeAreLegion Изменено 27 января, 2011 пользователем Silvio 4 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nikitich 2 5 января, 2011 (изменено) Слушайте, мне пришла идея. Возможно она бредовая, но всё-же я её озвучу. А не получится достать анимацию из Battlefront 2 и прикрутить в 3дс макс на которские модели??? А вдруг Сейчас бы сюда человека который перелопатил батлфрон, запихав в него добрую тучу моделей из котора... Может он подсказал бы. Может кто знаком с ним, вот ссылка по теме: http://stopforum.ru/topic/40218/star_wars_battlefront_2_kotor_mod Изменено 5 января, 2011 пользователем Nikitich Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WeAreLegion 15 265 5 января, 2011 (изменено) Слушайте, мне пришла идея. Возможно она бредовая, но всё-же я её озвучу. А не получится достать анимацию из Battlefront 2 и прикрутить в 3дс макс на которские модели??? А вдруг Для того, чтобы прикрутить к какойбы-то ни было модели чужую анимацию, нужно "насадить" свою модель на скелет с уже готовой анимацией. Процесс этот называется скиннинг и производится в 3ds max и ей подобных программах моделирования. Об этом процессе я знаю только то, что он есть. А потому ничем помочь не могу. С этим вопросом тебе лучше обратится на специализированные форумы и сайты по моделированию. Изменено 5 января, 2011 пользователем WeAreLegion 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nikitich 2 5 января, 2011 Ух. Всё понял. Спасибо за информацию. Если будут какие нибудь результаты - отпишусь обязательно) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
shtusha 0 5 января, 2011 А знаете, безразличие хуже всего! Сказали бы, что не могёте! Или послали бы, если западло возиться! Может капсом воспользоваться, или картинку какую прикрутить пошлячую! Поглядишь на Ваши разговоры - хоть сейчас любого в BIOWARE кодером! Есть ответ на мои мольбы, али нет? Нужон позарез EBON HAWK с текстурами!!! Желательно в . max! Не встает, блин, Ваш КОТОР ТУЛ, хоть тресни! А систему сносить - западло, потому как много чего крутится нужного ежечасно на ней! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nikitich 2 5 января, 2011 (изменено) shtusha, ну вот вроде то что нужно... http://sderni.ru/39840 ЗЫ Попробуй этот котор тул. Может он встанет. Изменено 6 января, 2011 пользователем Nikitich 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
shtusha 0 6 января, 2011 (изменено) Nikitich Даже не знаю, как отблагодарить человека! Если в Питере живешь - пиво с меня, называй время и место! Только... Не хочет MAX открывать файлик, ругается (могу скрин)! Конверторы 3d-шные тоже матерят по цифре! Поднабравшись наглости попрошу в .3DS! Можно? Тогда смогу сконвертить вообще в любой формат (если, опять же - откроется!)! Раздам все кому надо - клянусь! Даже с подписью, чтобы народ знал своих героев! Тогда не только пиво! Конь...! Ну, а если подробную инструкцию (со скринами) по вытаскиванию техники из котора отвалишь - респект, как говорится и уважуха от всех завсегдатаев с сайта http://swmodel.ru (не сочтите за рекламу) обеспечен будет в веках!!! Изменено 6 января, 2011 пользователем shtusha Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nikitich 2 6 января, 2011 (изменено) Если в Питере живешь - пиво с меня, называй время и место! Нет, не в Питере)) Поднабравшись наглости попрошу в .3DS! Можно? Ноу проблем, тока чуть позже (сейчас рождество, 00:51, следовательно сегодня но через несколько часов). Раздам все кому надо - клянусь! Даже с подписью, чтобы народ знал своих героев! Тогда не только пиво! Конь...! По закону подпись под моделью должна быть биовейра и (наверно) лукасартса. Ну, а если подробную инструкцию (со скринами) по вытаскиванию техники из котора отвалишь В данной теме станицей назад уважаемый WeAreLegion расписал подробно со скринами как это делать, эбон хоук лежит рядом со всеми моделями, грубоговоря он самый первый в списке моделей и даже не в единственном экземпляре (отдельно битый, нормальный, ранкорно-адаптированный, может ещё какой, я точно не знаю). Где брать остальную технику ума не приложу, может быть там же в списке моделей)) Если кто подгонет лайтсаберов - буду счастлив. (хотя наверн их и так много в сети) http://swmodel.ru (не сочтите за рекламу) За рекламу не сочёл, а по ссылочке клацнул)) А сайт то хороший)) Думаю в новом 2011 году стану одним из завсегдатаев этого сайта)) PS Задам вопрос не по теме. Просто создавать свою тему за одним мелким вопросом не хочется... ГДЕ ВЗЯТЬ DLC Endor Bonus Mission для проекта Star Wars: The Force Unleashed 2 ?????? Изменено 6 января, 2011 пользователем Nikitich Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nikitich 2 7 января, 2011 (изменено) Вот, как и обещал. Только есть один нюанс. В которе1 я просто не нашёл модель эбон хоука, а во втором среди моделей он только ломаный. Остальные модели с названием ebo содержат в себе что угодно только не сам эбонитовый ястреб. В принципе при имении навыка можно залатать дыры в нём) Почему так? почему только сломанный в моделях? Думаю логически ответ приходит сам собой. Во всех локациях e.h. проходит как часть самой локации. Выдрать кусок локации во много раз сложней чем сконвертировать готовую модель)) А во втором которе, как мы помним, был на малахоре5 сломанный эбонхоук. Безусловно обсидиановцы могли сделать его куском локации как и во всех остальных случаях, но по факту он есть в моделях)) Моя логика может быть и ошибочной. Может сломанный е.h. и не был моделью на малахоре, может он использовался где-то ещё, может у обсидианцев было в планах использовать эту модель, но планы обломались (все мы помним чем и почему занимаются в TeamGizka). Однако что есть то есть. PS Чё интересное в бардаке нашёл - чёткая красивая картинка перагуса Изменено 7 января, 2011 пользователем Nikitich Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WeAreLegion 15 265 7 января, 2011 Вот, как и обещал. Только есть один нюанс. В которе1 я просто не нашёл модель эбон хоука, а во втором среди моделей он только ломаный. Остальные модели с названием ebo содержат в себе что угодно только не сам эбонитовый ястреб. В принципе при имении навыка можно залатать дыры в нём) Почему так? почему только сломанный в моделях? Думаю логически ответ приходит сам собой. Во всех локациях e.h. проходит как часть самой локации. Выдрать кусок локации во много раз сложней чем сконвертировать готовую модель)) А во втором которе, как мы помним, был на малахоре5 сломанный эбонхоук. Безусловно обсидиановцы могли сделать его куском локации как и во всех остальных случаях, но по факту он есть в моделях)) Моя логика может быть и ошибочной. Может сломанный е.h. и не был моделью на малахоре, может он использовался где-то ещё, может у обсидианцев было в планах использовать эту модель, но планы обломались (все мы помним чем и почему занимаются в TeamGizka). Однако что есть то есть. PS Чё интересное в бардаке нашёл - чёткая красивая картинка перагуса В первом КОТОРе есть целый "Черный Ястреб". Модель называется v_ehawk.mdl. Только там вместо окна в кабине пилота зияет дыра. Kotor Tool снес недавно, а потому модель выложить не могу. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nikitich 2 7 января, 2011 (изменено) Понял, щас забабахаю!!! _________________________ http://sderni.ru/40183 - готово. Отличный e.h. и даже вышеупомянутая дыра не портит вид)) думаю залатать её можно как-нибудь. Смотря для каких целей берётся ястреб. _________________________ собственно начал рассуждать о е.h. как о части локации потому что не прошёлся взглядом (и поиском) по всем моделям. Эх, в след. раз буду повнимательней) спасибо, WeAreLegion )) Изменено 7 января, 2011 пользователем Nikitich 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
shtusha 0 7 января, 2011 (изменено) Понял, щас забабахаю!!!_________________________ http://sderni.ru/40183 - готово. Отличный e.h. и даже вышеупомянутая дыра не портит вид)) думаю залатать её можно как-нибудь. Смотря для каких целей берётся ястреб. _________________________ собственно начал рассуждать о е.h. как о части локации потому что не прошёлся взглядом (и поиском) по всем моделям. Эх, в след. раз буду повнимательней) спасибо, WeAreLegion )) Вот спасибо-о-о-о! Вот помог-то! Поставил котор тул всё-таки, получилось, отдельное спасибо! Даже модельку выдрать получилось, но... стоит у меня 9 мах, плагинчик вроде поставил по рекомендации товарища WeAreLegion. Но панельку не найду никак вот эту: http://xmages.net/sh...9650_3-jpg.html Делаю так: пускаю мах, открываю вкладку "utilities", далее - "run script", выбираю скрипт из плагина - "nwmax.ms", внизу пробегает прогресс-бар и... и всё, тишина, ничего не меняется. Может не правильно делаю чего? Подскажите, други! Отбой! Ура!!! Всё получилось!!! Респектище всем терпеливым и шарящим людям!!! Изменено 7 января, 2011 пользователем shtusha Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nikitich 2 7 января, 2011 не знаю даже, копирастил всё это дело в папку Scrypts (или как-то так) к установленному максу. Он подхватил сам и при старте эта панелько появляется сама. Закрыть боюсь - а то потом не найду))) Пробуй кинуть туда куда и я. PSЗадам вопрос не по теме. Просто создавать свою тему за одним мелким вопросом не хочется... ГДЕ ВЗЯТЬ DLC Endor Bonus Mission для проекта Star Wars: The Force Unleashed 2 ?????? Так что, никто не знает? Вот спасибо-о-о-о! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sat9 1 11 января, 2011 Как мне зделать чтоб ток чтоб можна была надевать наряд мры на рс чтоб выгледела как на ней Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nikitich 2 11 января, 2011 (изменено) Я так понял рс - сам игрок? Если так, то с помощью Kotor save editor заменить модель рс на модель Миры можно. Может быть им даже удастся лицо Мире-игроку поменять... точно не знаю. Изменено 11 января, 2011 пользователем Nikitich Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WeAreLegion 15 265 11 января, 2011 Этот тутор дался мне не легко. В нем я попытался подробно и пошагово раскрыть все тонкости создания собственного модуля для KotOR 1. Так-же, в скором времени я разберусь с квестами и обязательно сделаю по ним тутор. Если обнаружите какие-нибудь неточности, что-то непонятное или просто глупости - дайте мне знать. Создание собственного модуля для KOTOR I. Инструменты, что нам понадобятся: 1) KOTOR Tool - сердце всего моддинга для КОТОРа. 2) K-GFF Editor - не менее полезная тулза, способная редактировать практически все типы КОТОРских файлов. 3) DLG Editor - программа, чье единственное назначение - создавать диалоги. С ним она прекрасно справляется. Для начала давайте определимся, что-же такое модуль в KOTOR'е - это какой-либо уровень игры вместе со всеми находящимися там персонажами, мебелью, скриптами и прочим. Правда сразу надо оговорится, что как-либо изменять сам уровень мы никак не сможем - ввиду ограниченности доступного инструментария. Все-таки надо помнить, что все имеющиеся сейчас инструменты для моддинга были созданы простыми игроками, т.к. никакого SDK ни BioWare, ни Obsidian не выпускала. Итак, в ходе этого туториала мы создадим собственный модуль, с собственным-же NPC и прилагающимся к нему диалогом. Так-же мы создадим несколько скриптов для "оживления" нашего диалога. Да, и вот еще что - лучше всего, что бы у вас была английская версия KotOR'а. 1. Создание пустого модуля. Для начала создадим где-нибудь пустую папку с именем NewModule. В этой папке будут хранится все элементы нашего модуля.Теперь давайте выберем локацию, в которой все будет происходить. Я выбрал маленький дом на Кашиике (kas_m23ab), одну из самый маленьких локаций в КОТОР'е - больше нам все равно не нужно. В KOTOR Tool перейдем в раздел KOTOR I -> RIMs -> Modules и найдем там файл с названием kas_m23ab.rim. Выделим его и экспортируем (Extract entire RIM file) в нашу папку (NewModule). В итоге, в нашей папке должен появится три файла - m23ab.git, m23ab.are и module.ifo. Теперь нужно вытащить нужные нам элементы уровня. В KOTOR Tool перейдем в раздел KOTOR I -> RIMs -> Modules и раскроем (+) файл kas_m23ab_s.rim. Выделим в нем подраздел Blueprint, Placeables и экспортируем его в нашу папку. Тоже самое делаем и с Blueprint, Sound. Таким образом, в папке NewModule должны находится файлы m23ab.git m23ab.are kas23ab_cont_01.utp и rndwookanimals.uts. 2. Теперь отрубим от нашего уровня все ненужное. Откроем в K-GFF Editor'е файл m23ab.git. Нашему взгляду предстанет огромное количество списков, которые могут сбить столку. Для того, чтобы спрятать все ненужное выберите меню View->Fold All. Теперь найдем список Creature List. Раскрыв его, мы увидим две структуры. Одну из них можно удалить, но ОДНУ НЕОБХОДИМО ОСТАВИТЬ в любом случае. Теперь раскроем Door List и удалим единственную там структуру (связь с остальным миром КОТОРа нам не нужна, а значит не нужна и дверь). Так-же удалим в списке WayPointList все структуры. Сохраним изменения. 3. Теперь приступим к созданию нашего NPC. В KOTOR Tool перейдем в раздел KOTOR I -> BIFs -> Templates -> Blueprint, Character. В этом списке находятся все NPC игры - то есть все, с чем можно завести диалог. Для нашего туториала выберем g_assassindrd02. Дважды щелкнув по названию мы попадем в меню настроки персонажа (Creature Editor). В поле First Name введем его имя (HK 25 в моем случае). Далее идем в поле Tag и вводим имя, по которому мы будет опозновать его в скриптах - HK25Tutor в моем случае. В закладках Statistics, Skills и Feats можете раскидать основные характиристики. Но не делайте его чересчур мощным - нам-же с ним еще дратся в конце-концов. Закончив с характиристиками, перейдем во вкладку Advanced. Здесь в поле TemplateResRef введем уникальный идентификатор. Для простоты лучше всего сделать его таким-же, как и tag - т.е HK25Tutor в нашем случае. В секции Special отметим опцию No Permanent Death. Это значит, что наш NPC уже больше не вернется к жизни. Faction сменим на Neutral. Теперь настало время приступить к наполнению инвентаря нашего непися. Щелкнув по кнопке Inventory мы попадем в святая-святых список всех предметов, доступных в игре. Все они аккуратно расфасованы по категориям, а потому найти что-либо труда не составит. Если-же вы случайно добавили что-то по ошибке и хотите это удалить, то измените qty ненужного вам предмета на 0. Из списка он не удалится, но и в игре его не будет. Теперь осталось лишь сохранить нашего непися в папку NewModule. При сохранении не забудьте дописать в конце расширение .utc - KOTOR Tool об этом часто забывает. В итоге в папке NewModule должен будет добавится файл hk25tutor.utc. Теперь необходимо "прописать" нашего NPC в файле модуля. В K-GFF Editor'е откройте файл m23ab.git и в списке Creature List откроем единственную оставленную нами структуру и в графе TemplateResRef введем TemplateResRef нашего NPC (hk25tutor в нашем случае). Собственно теперь созданный нами дроид-убийца уже проживает в нашем модуле, правда пока только по адресу NPC, проживавшего тут ранее. Для того, чтобы поставить нашего дроида в любое удобное нам место нам нужно будет загрузить игру. Далее нужно будет ввести чит-код для перехода в локацию, послужившую прототипом для нашего модуля - warp имя_модуля. В нашем случае чит-код будет таким: warp kas_m23ab. Таким образом мы окажемся в жилище вуки. Теперь подведите своего персонажа к месту, в котором-бы хотели видеть своего NPC и введите в консоли чит-код whereami. Это покажет нам наши текущие координаты. Теперь, имея нужные нам координаты мы можем поставить нашего непися куда нам нужно. Для этого в K-GFF Editor'е основа откройте файл m23ab.git и в секциях XPosition, YPosition и ZPosition вводим соответствующие координаты. XOrientation и YOrientation пока оставим в покое - я и сам еще над этим работаю. 4. Теперь настало время перейти к диалогу. Откройте DLG Editor и введите его в режим КОТОР 1 (Mode -> Toggle mode: KotOR или F11). Создайте новый диалог (File -> New). Теперь создайте приветственную реплику нашего NPC (ПКМ -> New Entry по самой верхней строчке). В итоге появится красная строчка ответа NPC. Синие-же - ответы ГГ. Редактор интуитивно понятен а потому разобратся в нем труда не составит. Создайте диалог на подобии того, что на скриншоте. Сохраните диалог в папку NewModule. Теперь настало время заскриптовать наш диалог. Всего у нас будет 5 реплик для ГГ, при выборе которых будет производится те или иные действия. Для начала разберемся, какая реплика будет закреплена за каким действием. Наш дроид-ассасин будет приветствовать нас репликой "Yes? You wish to see someone's dead?" (извините за мой английский, если что), на что мы можем ему ответить: a) "I saw that lightsaber you have... Can you take it to me?" - после этой фразы дроид слегка удивится, но светошашку все-же отдаст. b) "No, of course! I am JeEedi, not killer!" и мы получим немного пунктов светлой стороны. с) "Well, i think you should kill them all!" и мы получим немного пунктов темной стороны. с) "I see you are professional Killer! Can you show some of your tricks." после этого ответа дроид научит нас своим "штучкам" и заодно одарует некоторым количеством XP. e) "Ennough! You must die!" - после этого дроид, как ему и положено, вступит с нами в бой. Теперь осталось лишь создать соответствующие скрипты и закрепить их за нужными строчками диалогов. Для этого вновь откроем KOTOR Tool и через Tools -> Open Text editor откроем встренный редактор скриптов. Итак, создадим скрипт, заставляющий нашего NPC атаковать нас. voidmain(){ ChangeToStandardFaction(OBJECT_SELF,STANDARD_FACTION_HOSTILE_1); } После того, как вы успешно скопипастите весь текст (а переписать его вручную никто из вас не удосужится), его нужно будет скомпилировать. Отметим, что скритп для KOTOR I (Script -> Script is for KOTOR I) и скомпилируем его (F5). Появится диалоговое окно сохранения исходного файла скрипта. Назовем его attack.nss (расширение обязательно) и сохраним его в папку NewModule. Далее скипт через какое-то время успешно скомпилируется. В иотоге в папке должно появится два файла - attack.nss и attack.ncs. Собственно говоря один скрипт у нас уже есть - осталось сделать еще четыре. Вот их исходный текст: Скрипт, добавляющий световой меч (вместо g1_w_lghtsbr01 можете вставить любой ResRef предмета, который хотите получить) Имя скрипта - give_item.nssvoidmain() { intnQuantity = 1; CreateItemOnObject("g1_w_lghtsbr01", GetFirstPC(),nQuantity); } Здесь 5000 - количество XP, которое будет получено ГГ. Имя скрипта - give_xp.nssvoidmain() { GiveXPToCreature(GetFirstPC(),5000); } Здесь 50 - количество очков светлой стороны Имя скрипта - give_lightside.nss voidmain() { AdjustAlignment(GetFirstPC(),ALIGNMENT_LIGHT_SIDE, 50); } Здесь 50 - количество очков темной стороны Имя скрипта - give_darkside.nssvoidmain() { AdjustAlignment(GetFirstPC(),ALIGNMENT_DARK_SIDE, 100); } Теперь нужно закрепить наши скрипты за нужными строчками диалога. Помните: крепить надо не за варианты ответов ГГ, а за репликами NPC соответствующие нашим вариантам ответов. Для этого выделите нужную реплику NPC и в поле script that fires when spoken введите имя скрипта без расширения. Тоже самое повторите и с остальными вариантами реплик NPC, связав тем самым все скрипты с диалогом. И вот теперь осталось лишь закрепить новый диалог за нашим NPC. Для этого в K-GFF Editor'e откроем файл hk25tutor.utc и в поле Conversation введем название нашего диалога без расширения. Сохраняем и закрываем. 5. Теперь дело за малым - осталось лишь упаковать наш мод в один файл. Откройте в KOTOR Tool ERF Builder (Tools -> Open ERF/MOD Bulder). В Output file type выберем MOD. В Output file name (...) сохраним наш файл под именем NewModule.mod (расширение обязательно ) в папке NewModule. Теперь нужно добавить все файлы нашего модуля - для этого нажмем Add Files..., выделим все файлы из папки NewModule и добавим их. Компилируем модуль (Build MOD). Ну вот и все! В папке NewModule должен появится файл NewModule.mod который нужно скопировать в папку Star Wars Knights of the Old Republic\modules (ни в коем случае не в Override!). Теперь запускаем игру, загружаем любую сохраненную игру и вводим в консоли warp newmodule. Мы появимся в нашем модуле. Можете полюбоватся результатами собственных трудов. 4 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nikitich 2 11 января, 2011 ухты ухты... Ну и работка! Отлично! спасибо огромное!!! Очень сильно поможет и мне и многим вообще! Круто! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DR.WHO 2 11 января, 2011 (изменено) Подскажите как изменять 3d модели голов и какой прогой если не в облом И ище катанул глобальное дополнение на второй котор jedi masters называется типа котор три но он на английском хочу рсефицыровать неподскажыте как и какой прогой лучшэ это делать Изменено 12 января, 2011 пользователем DR.WHO Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WeAreLegion 15 265 13 января, 2011 Вот, как и обещал, туториал по квестам: Создание квестов для KOTOR I Но сначала немного теории. Квесты во всех компьютерных РПГ устроены примерно одинаково. Каждый квест делится на стадии (от двух и более). Первая стадия - это собственно начало квеста. Все остальные - это промежуточные или финальные стадии. Первая и промежуточные стадии отображаются в журнале, в разделе активных квестов. Финальные стадии отбражается в разделе завершенных квестов. Кстати да, финальных стадий может быть несколько - именно они позволяют создавать нелинейные и вариативные квесты. Ну что-же, теперь можно перейти непосредственно к туториалу. В ходе этого тутора мы создадим простой и линейный квест, состоящий всего из 3-х стадий. Каждая из стадий будет последовательно отображатся в нашем журнале. Третья, финальная стадия будет отображатся в разделе завершенных квестов. Наш квест мы создадим на основе наработок предидущего туториала. Квест и все его стадии будут активироватся через диалог созданного нами NPC. Итак, приступим. 1. В KOTOR Tool перейдем в раздел KOTOR I -> BIFs -> _newbif.bif -> Journal File и выделим файл global.jrl. Экспортируем его на рабочий стол (или в любое другое видное место). Теперь откроем его в K-GFF Editor'е. В списке Categories вы найдете огромное количество стуктур. Каждая из этих структур - это квест. Здесь собраны абсолютно все квесты, доступные в KOTOR I. Ну что-же, настало время создать и нам свой. Выделите структуру под номером 100 скопируйте ее (ПКМ -> Copy STRUCT). Теперь выделите надструктуру Categories и вставьте только что скопированную структуру (ПКМ -> Paste STRUCT). Нашему взору предстанет такая картина: Поле Comment предназначено для комментария разработчиков и игрок ее не увидит. Нам она не понадобится, а потому оставим ее в покое. Список EntryList представит нашему взору список всех стадий нашего квеста. Итак, приступим к созданию первой стадии. Значение 0 в поле End означает что стадия не финальная. ID - это номер стадии. Номера стадий лучше всего делать с шагом в 10 - это позволит в случае необходимости добавления новой стадии не переделывать весь квест с нуля, а просто вставить его в нужное нам место. Несмотря на название, поле Text не несет какой-либо текстовой информации, а лишь ссылку в локализационный файл (StringRef). Но мы сделаем небольшую хитрость. Выделите строку Text и создайте новую переменную типа String (ПКМ -> Add String). В появившемся справа поле CexoLocString SubString Info можно будет написать текст (разумеется только на английском). Для первой стадии текст будет таким : This is a first stage of our quest. Теперь, когда мы ввели текст, то и ссылка на локализационный файл нам не нужна. Но оставить в покое ссылку мы не можем - локализационный файл имеет больший приоретет в игре, а потому вместо стоящего там идентификатора поставим свой уникальный (в нашем случае 100001). Игра обратившись в локализационный файл по ссылке 100001 естественно ничего не найдет, а потому будет вынуждена отобразить наш текст. Поле XP_Percentage оставим в без изменений. Повторим теже действия для других стадий. Во второй стадии текст будет такой: This is a second stage of our quest., его ID будет - 20, End будет равнятся 0, а StringRef - 100002. Для третьей стадии текст будет таким: This is a third and last stage of our quest. This text you can see only in "completed quests"., его ID - 30, а StringRef - 100003. Т.к. третья стадия последняя, то в поле End выставим 1. В первых двух стадиях End соответственно будет равен 0. Ну чтож, закончив со стадиями перейдем к оставшимся значениям. Поле Name - это название нашего квеста, которое игра также берет из локализационного файла. Чтобы добавить свое название делаем тоже самое, что и в случае с полем Text (ПКМ -> Add String), а StringRef - 100000. Это название будет отображатся в журнале квестов. Значение поля Planet ID означает планету, на которой происходит квест. Все в общем-то просто, но я не знаю, какой ID принадлежит какой планете. Оно не играет особой роли, а потому оставим его нетронутым. Что означает PlotIndex я увы не знаю, так что оставим ее в покое. Значение поля Tag - это идентификатор, по которому мы будем находить наш квест в скриптах. Tag нашего квеста будет testquest. Теперь сохраните файл global.jrl, согласившись на замену. 2. Теперь слегка модифицируем наш диалог, оставшийся еще с предидущего туториала. Приведите его в соответствие со скриншотом. Как вы наверно уже догадались, все эти реплики соответствуют стадиям нашего квеста. Строка "Do you have a quest for me?" будет доступна игроку с самого начала и будет активировать квест (стадия 10), но как только квест станет активным, эта фраза перестанет отображатся. Фраза "OK, we are on 1st stage - what next?" станет доступна сразу после активации квеста и активирует переход на стадию 20, но перестанет отображатся, как только начнется стадия 20. Фраза "OK, we are on 2nd stage - what next?" будет доступна во время стадии 20 и будет переводить нас на стадию 30, т.е. завершит наш квест. Как только завершится стадия 20, то и завершится отображение этой фразы. Фраза "Thats true! I have completed Test Quest!" будет доступна все время после завершения квеста и будет служить нам идентификатором того, что квест завершен. Сохраните диалог, но не закрывайте DLG Editor. Пришло время скриптов! 3. Всего у нас будет 7 различных скриптов - 4 проверяющих доступность той или иной фразы и 3 скрипта активирующих стадии. О том как компилировать скрипты я подробно расписал в перидущем туториале, а потому не будем останавливатся на этом. Вот исходный код каждого из скриптов: Этот скрипт активирует первую стадию нашего квеста (testquest_10.nss) void main() { AddJournalQuestEntry("testquest",10); } Этот скрипт активирует вторую стадию нашего квеста (testquest_20.nss) void main(){ AddJournalQuestEntry("testquest",20); } Этот скрипт активирует третью стадию нашего квеста (testquest_30.nss) void main(){ AddJournalQuestEntry("testquest",30); } Этот скрипт - условие, которое определяет доступность фразы "Do you have a quest for me?" (checkL10.nss) int StartingConditional(){ return (GetJournalEntry("testquest") < 10); } Этот скрипт - условие, которое определяет доступность фразы "OK, we are on 1st stage - what next?" (check10.nss) int StartingConditional(){ return (GetJournalEntry("testquest") == 10); } Этот скрипт - условие, которое определяет доступность фразы "OK, we are on 2nd stage - what next?" (check20.nss) int StartingConditional(){ return (GetJournalEntry("testquest") == 20); } Этот скрипт - условие, которое определяет доступность фразы "Thats true! I have complete Test Quest!" (check30.nss) int StartingConditional(){ return (GetJournalEntry("testquest") == 30); } Сохраняем и компилируем скрипты в папку NewModule.Теперь крепляем скрипты к фразам. Надо лишь запомнить, что скрипты, определяющие доступность тех или иных фраз ГГ (скрипты-условия) крепляем непосредственно к этим фразам, в то время как скрипты активирующие стадии квеста (результатирующие скрипты) крепим к репликам-ответам NPC на фразы ГГ. Название скрипта-условия вводим в поле Script that determines availability, в то время как название результатирующих скриптов вводим в поле script that fires when spoken. Сохраняем наш диалог и закрываем DLG Editor. Теперь осталось лишь запаковать наш мод в один файл. О том как это делать я писал в предидущем туториале. Получившийся .mod файл кидаем в папку Star Wars Knights of the Old Republic\modules. Теперь берем файл global.jrl, который мы не так давно редактировали и кидаем его в папку Star Wars Knights of the Old Republic\Override (если папки Override нет, то создайте ее). Теперь осталось лишь опробовать наш квест в деле. В игре вводим чит-код warp название_модуля (warp newmodule в нашем случае) и начинаем разговор с нашим NPC. Собственно говоря, это было лишь описание общей механики создания квестов для KOTOR. Они могут быть как линейными, так и разветвленными и со множеством концовок. Они могут быть как исключительно "разговорными", так и "боевыми". Как вы уже могли заметить, большинство функционала квестов создается с помощью скриптов. Как бы это не было печально, но обучить всем премудростям скриптового языка нельзя и за 10 туторов, какими бы подробными они не были. Фактически это тот-же самый язык программирования, что и Pascal или C/C++. Разница лишь в том, что он заранее адаптирован для игровых потребностей. Кстати, этот-же язык был использован в играх серии Neverwinter Nights и прочих, использующих движок Aurora (Ведьмак скорее всего тоже). Учитывая дикую популярность вышеозначенных игр среди моддинг-сообщества, найти материалы по этому скриптовому языку труда не составит. К созданию комплексных скриптов на этом языке следует приступать уже зная как минимум один из "взрослых" языков программирования (таких как С/C++, Pascal и т.д.). 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
tiranus7i 3 13 января, 2011 А где текстуры нар шада(непомню как правельно) достать можно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WeAreLegion 15 265 14 января, 2011 А где текстуры нар шада(непомню как правельно) достать можно Текстуры чего именно? Нар-Шадаа - это целая планета с тысячами текстур. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
tiranus7i 3 14 января, 2011 Текстуры чего именно? Нар-Шадаа - это целая планета с тысячами текстур. Ну стен хачу там графети разместить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WeAreLegion 15 265 14 января, 2011 Ну стен хачу там графети разместить Текстуры стен здесь: KOTOR II -> ERFs -> TesturePacks -> swpc_tex_tpa.erf -> N в том списке все текстуры, что начинаются с NAR_ 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
tiranus7i 3 15 января, 2011 Я извлек модель из bloodrayne2 и хачу запехнуть модель во 2котор но не выходет не подскажете в чом касяк (C tomb raider вышла правда я ее запехнул в первый котор) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
tiranus7i 3 17 января, 2011 (изменено) Как мне зделать чтоб ток чтоб можна была надевать наряд мры на рс чтоб выгледела как на ней Может поздно но лучше чем никагда тока свет европейское лицо бери скреншот Изменено 17 января, 2011 пользователем tiranus7i Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DarthGil 9 17 января, 2011 Я такой мод уже где-то видел.Кажется "Mira's ballistic jacket wearing by PC". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты