Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопросы новичков
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights 2 Obsidian Toolset
Страницы: 1, 2, 3, 4, 5, 6, 7
Lex
Цитата(Kirald @ Apr 19 2008, 21:21) *
2. Никак ни могу найти проверку (gc_) на атрибуты тип Харизма Сила и т.д. не подскажете? rolleyes.gif

Neverwinter Script
gc_check_stats(int nStat, int nVal)

  This script checks to see if the player (PC_Speaker) has stats above a certain number
      nStat  = The integer of which stat to check for (list boxes will be done later)
      nVal    = The value the stat needs to equal or exceed


про волков. Самый самый тупой вариант. Добавить этот блок где-нить в начале стандартного скрипта смерти у волка (скрипт сохранить под новым именем)
Neverwinter Script
object oNPC = GetObjectByTag("Тэг НПС, выдающего и принимающего(это критичнее, если разные, лучше писать на принимающего) квест");
SetLocalInt(oNPC,"WOLVES",GetLocalInt(oNPC,"WOLVES")+1);


в диалоге с этим НПС сделать типа так:
НПС: О, мой герой! (проверка на то, что квест уже выполнен)
НПС: Ну что, убил гадов? (проверка на то, что квест взят)
| Игрок: Да (проверка на то, что переменная WOLVES у этого НПС равна 3)
| | НПС: Отлично! На награду. (установка переменной квеста в состояние "выполнен")
| Игрок: Нет
НПС: На квест.
| Игрок: Беру (ставим локалку что квест взят)
| Игрок: Не беру

примерно понятно?

зы: по хорошему конечно надо эти 2 переменные (квестовая и волки) сводить в одну. Те негоже для квеста иметь 2 разных переменных. Одна за состояния вроде как отвечает, но при этом не учитывает волков, за которых говорит другая. В принципе волковскую переменную можно оставить, но как вспомогательную, тогда скрипт в смерти волка будет чуть другой:
Neverwinter Script
object oNPC = GetObjectByTag("Тэг НПС, выдающего и принимающего(это критичнее, если разные, лучше писать на принимающего) квест");
int Wolves = GetLocalInt(oNPC,"WOLVES");
Wolves++;
if (Wolves==3)
SetLocalInt(oNPC,"QUEST",/*ставим статус квеста "выполнен, но не сдан"*/);
SetLocalInt(oNPC,"WOLVES",Wolves);


собственно тут в кратце описана самая примитивная квестовая система. Это локальная переменная на НПС, которая отображает состояния квеста. Например
0 - не взят
1 - взят, не выполнен
2 - выполнен, не сдан
3 - выполнен, сдан

как видим, это именно примитивный квест без нелинейности. Однако (!) на такой схеме можно сварганить и нелинейность, просто надо не запутаться в состояниях будет.
хинт: рекомендую давать журнальным записям номер того состояния квеста, которому она соответствует. Будет меньше путаницы. Те если у вас состояния квеста 0, 10, 20, 30, то журнальным записям надо давать точно такие же номера.

в принципе, можно плясать от вышеприведенного каркаса, улучшая его до состояния нормальной системы. Но это уже сам. Могу подсказать куда идти:
1. отвязывать квестовые переменные от НПС (чтобы можно было без гемороя использовать в квесте несколько НПС, особенно если нужно с ними болтать)
2. расширять состояния квеста (например "не взят и не может быть взят")
3. написать общие скрипты проверки любого квеста на любое состояние (те скриптов для диалоговых проверок/установок на самом деле нужно всего 2. На все квесты. В идеале, те конечно так не бывает smile.gif Ибо часто надо вместе с переходом в другое состояние делать что-то еще: выдавать предмет/забирать предмет, награду давать и тд.)
4. Подумать еще и всетаки сделать лишь 2 скрипта установки/проверки, а квестовые действия занести в отдельный скрипт (по каждому квесту свой) и там, в одном месте, держать все действия, сопутствующие переходу из одного состояния в другое.

ну или придумать с 0 свою систему. (пункт 4 это в принципе сильный уход в сторону от того, что выше написано.)
Kirald
Спасибо ГИГАНСКОЕ !!!!!!! Щас буду разбираться, пробовать и т.д., а то уже надоели не линейные квесты без врагов prankster2.gif declare.gif
Zmeika
Как менять локации кампании nwn2 ? Годится ли для них система оверрайда, как для диалогов и скриптов? Или все исправления нужно делать непосредственно в родной локации?

А то у меня такая проблема - есть локация 'форт Локе', решила выставить там смену дня/ночи. Сделала это в копии, которую положила в оверрайд. На первый взгляд сработало, в форте Локе наконец появились закаты и рассветы. Но при этом стала пропадать Нишка (она появляется на перекрестке в окружении враждебных солдат). Если точнее - Нишка не попадает в игровой сейв. Т.е. она появляется в локации, как положено, но если потом сохранить игру и загрузить сейв, она исчезнет. sad.gif

priest
А есть возможность передвигать воду вверх/вниз, то есть чтобы она не была только лишь на одном уровне?
Leon PRO
Цитата
А есть возможность передвигать воду вверх/вниз, то есть чтобы она не была только лишь на одном уровне?

Да, перед тем как рисовать воду - выставь ее высоту в настройках кисти.
priest
Цитата(Leon PRO @ Jun 7 2008, 14:42) *
Да, перед тем как рисовать воду - выставь ее высоту в настройках кисти.

а это где подскажи пжалста blush.gif
Leon PRO
у меня нет редактора сейчас.
Griffon
Цитата(priest @ Jun 6 2008, 22:46) *
А есть возможность передвигать воду вверх/вниз, то есть чтобы она не была только лишь на одном уровне?


Можно, но только если вода у тебя находится в двух и более квадратах. В границах одного квадрата высота всегда будет одинаковая. Высота, цвет, рябь и все остальное что качается воды задается в закладке terrain -> water. В частности высота регулируется в третьем окне сверху (секция кисти - brush). Только попробуй задать высоту для начала бегунком, т.к. не помню точно какой знак разделения использован в редакторе - точка или запятая. Вроде бы запятая. Высоту можно установить как выше 0, так и ниже.
darkwhisper
Всем привет, есть такой вопрос, можно ли реализовать возможность общения компаньонов между собой и другими NPC, т.е. разговор мог начинать любой компаньон, а не только ГГ.
Просто у меня в оригинальной компании нвн2 был такой глюк, когда Аммон мог спокойно покупать вещи в магазине и общаться с NPC, когда ГГ стоял далеко
Griffon
Конечно можно. Ведь в самом начале игры и папаша и первые компаньоны сами разговор с ГГ начинают.
darkwhisper
не, я имею ввиду не то, а именно что бы управляя одним компаньоном можно было поговорить с другим, не переключаясь на главного героя
Aiwan
Нет. А если и можно то через задний проход.
alldistorted
Ну раз тема называется "Вопрос новичков" или "Я ничего не понимаю", то я надеюсь, что вы не будете сильно смеяться над моим абсолютно нубским вопросом rolleyes.gif
А заключается он в следующем: каким образом можно открыть в тулсете уже существующий файл .uti (доспехи) и изменить его?
Я читала туториал по созданию новых предметов, но не нашла там ответа на свой вопрос...
virusman
Открыть модуль, кинуть в папку modules/temp0 этот файл, сделать ребилд палитры, найти предмет в палитре и отредактировать.
alldistorted
virusman,

Благодарю за ответ, только вот дело Вы имеете с абсолютным чайником, не имеющим ни малейшего представления, что такое "ребилд палитры" и как его сделать. unsure.gif
virusman
Меню Build -> Build Module, в появившемся окне убрать галочки везде, кроме Compile -> Palettes и нажать Build.
Упс, только что заметил, что речь о тулсете НВН2.. Тогда не знаю.
DarkPhoenix
Кто может посмотреть мой модуль, у меня почему-то не хочет работать триггер разговора - выбрасывает из игры. Вот модуль (130кб) http://dump.ru/file/1133711
Jadent
DarkPhoenix, с диалогом все нормально, это бэйк не сделан. (File → Bake Current Area)
DarkPhoenix
Ааа, спасибо! Вот это я дурак XD
Eowieng
Доброго времени суток!
Сразу спешу извиниться за глупейший вопрос, на который никак не могу найти ответа. shok.gif
Я создала внутреннюю локацию (используя тайл замка). Когда я тестирую модуль, у меня почему-то не отображается потолок, вместо него просто черное пространство. В Toolset все выглядит как полагается. Подскажите как это исправить.
Заранее благодарю!
lars
Eowieng
в игровых опциях есть функция графические настройки,
там есть параметры отоброжение потолка при битве
так вот, сними галочку с данной функции,
и в доп графических режимах поставь галочку для
отоброжения потолка. Вроде все...ничего сложного.
ЗЫ: данная проблема решается, если у вас установлена
Маска Предательства, ну а в простой там все просто....само отображается.
Eowieng
О-о, вот это я протупила!!!

Стыд мне и позор!!! blush.gif

lars, спасибо за ответ! А то я бы до сих пор наверно юзала Toolset в поисках нужной опции. thank_you.gif
nwn2
привет всем, есть большое желание создать модуль nwn2 одному не потянуть думаю. есть идея вообщем, могу локации поделать, интерьер зданий, героев. со скриптами поблеммы. есть единомышленники? ))))


p.s max чего добился , движения персонажей и игру музыкантов

p.s 2 сильно не ругайте за глупый вопрос )
Eowieng
/привет всем, есть большое желание создать модуль nwn2 одному не потянуть думаю. есть идея вообщем, могу локации поделать, интерьер зданий, героев. со скриптами поблеммы. есть единомышленники? ))))/

Привет!
В одиночку создать приличный модуль для NWN2 проблематично, я бы сказала. Хотя в принципе нет ничего невозможного.
Я тоже в одиночку пытаюсь. Было бы интересно пообщаться. rolleyes.gif smile.gif
Пиши в аську 365896301. Поговорим. wink3.gif
Nevan
Ситуация: есть 2 группы игроков. Как сделать их враждебными друг к другу?
Araman
можно ли вытащить из модели юнита, например жреца теней из офкампании, так сказать "оболочку" и сохранить ее как обычный доспех?
Leon PRO
Araman, Если ты имеешь в виду, что потом этот доспех после модификации в Максе, например, могли "одевать" другие, то нет. Если просто как модельку для каких-то левых целей - то да, открываешь модель в пакете моделирования и делаешь что надо.
alex537
А как создать карту мира, подобную как в Storm of zehir?
Griffon
Ищи в мануалах http://nwvault.ign.com/ или в ответах http://nwn2forums.bioware.com/forums/index.html
Georgus
Создать - проще простого. Нужно просто зайти в свойства области и поставить галочку напротив Overland map. Там же надо поставить высоту и угол камеры. Но толку от этого? на этой карте ты сможешь сделать рельеф, леса, городов и зданий понатыкать. Вопрос то на самом деле в другом - как сделать работающие группы монстров, бегающие по карте? Если мне это кто либо объяснит, буду очень благодарен. Механизм то ясен - при встрече должен вылетать диалог, наподобие СоЗ, и при выборе сражения - переход на новую локу. Но как это на практике делается - я ХЗ.
Azorhil
Простите что обращаюсь с такой ерундой, мои познания в тулсэте и вобще в модостроение нвн2 стремятся к нулю, и к сожалению времени на детальное освоение его у меня по просту нет. Хочу спросить вот что : можно ли через тулсэт поставить игровому персонажу крылья, к примеру для тифлинга крылья эрнии. Если есть возможность подскажите где найти информацию, буду рад любой помощи.
Griffon
Цитата(Azorhil @ Sep 2 2009, 11:36) *
Простите что обращаюсь с такой ерундой, мои познания в тулсэте и вобще в модостроение нвн2 стремятся к нулю, и к сожалению времени на детальное освоение его у меня по просту нет. Хочу спросить вот что : можно ли через тулсэт поставить игровому персонажу крылья, к примеру для тифлинга крылья эрнии. Если есть возможность подскажите где найти информацию, буду рад любой помощи.


http://nwn2forums.bioware.com/forums/viewf....html?forum=113
сотни вопросов и ответов на любые темы
Valord
Очень нужна помощь! Работаю в Toolset-и недавно, и в модуле необходимо зделать две важных вещи:
1) Что бы как только начиналась игра, показывался стартовый ролик в виде монолога. Диалог зделать получаеться, а вот как монолог, хоть убей не выходит.
2) Что бы после определенной фразы в диалоге npc уходил с локации, и исчезал навсегда. Но необходимо что бы он не растворялся в воздухе, а выходил через дверь, а что дальше с ним будет, не имееет значения. Нигде подобный скрипт найти не удалось
Заранея благодарен
Griffon
Цитата(Valord @ Dec 1 2009, 21:36) *
Очень нужна помощь! Работаю в Toolset-и недавно, и в модуле необходимо зделать две важных вещи:
1) Что бы как только начиналась игра, показывался стартовый ролик в виде монолога. Диалог зделать получаеться, а вот как монолог, хоть убей не выходит.

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

Цитата(Valord @ Dec 1 2009, 21:36) *
2) Что бы после определенной фразы в диалоге npc уходил с локации, и исчезал навсегда. Но необходимо что бы он не растворялся в воздухе, а выходил через дверь, а что дальше с ним будет, не имееет значения. Нигде подобный скрипт найти не удалось
Заранея благодарен

Поищи скрипт в теме по редактору нвн1, что-то подобное точно должно быть.
Valord
Цитата
Ставь триггер разговора на точке старта и оставляй строки ответов игрока пустыми в редакторе диалога. Только камеры в этом случае лучше ставить кастомные.

Монолог должен произнести главный герой (то есть игрок).

Цитата
Поищи скрипт в теме по редактору нвн1, что-то подобное точно должно быть.

Да я искал, но нигде не нашол. nea.gif

Игра должна начинаться с того, что главный герой стоит на поле, и думаеэт. Мысли его озвучены и иммено в них объэсняеться его мотивация.
Lex
Цитата(Valord @ Dec 3 2009, 17:16) *
Монолог должен произнести главный герой (то есть игрок).

не важно. Пиши мысли игрока в текст НПС, а фразы игрока делай пустыми. Потом запусти диалог с игрока с игроком.
Kcapra
Можно также через FLoatingTextStringOnCreature (фразы "над головой" ГГ возникают), главное тайминги подобрать
Valord
Griffon, Lex, Kcapra Спасибо но...
То ли лыжи не те, то ли я ... Ничего не происходит. Не удаеться зделать заставку. Где то явно закрался баг, но я его не вижу.
Можно ли кому-небудь отослать раннею версию моего мода, что бы кто нибудь подкоректировал?
И как быть со скриптом в диалоге, в базе скриптов nwn я его не нашол.
Lex
вроде бы есть дефолтовая система со спец-поинтами, среди прочих там есть и AWAY, те точки ухода. Но как ее настраивать - я хз.
Вообще скрипт простой, тебе нужно отправить НПС на точку и удалить (обе команды сделать через стек действий, чтобы была последовательность), после чего заблокировать стек, дабы туда не попало новых команд.
Neverwinter Script
ActionForceMoveToObject(...); // отправка на точку. лучше в этом случае делать через форс. В описании функции описано, что это значит
ActionDoCommand(DestroyObject(..)); // уничтожение объекта, добавленное в стек
DelayCommand(0.3,SetCommandable(...)); // блокировка стека. Делать с маленькой задержкой.

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

Цитата(Valord @ Dec 3 2009, 23:07) *
То ли лыжи не те, то ли я ... Ничего не происходит. Не удаеться зделать заставку. Где то явно закрался баг, но я его не вижу.

можешь стартовый скрипт сюда кинуть
Griffon
Valord, пиши диалог и сохраняй его. Не важно в строках ГГ или НПС ты будешь писать. Размещаешь триггер разговора там где тебе нужно. В твоем случае точка старт. И вставляешь уже написанный и сохраненный диалог.
vladekus
Всем привет! thank_you.gif Я собственно новенький у вас...В самом тулсете разбираюсь на среднем уровне...тоесть установить ландшафт, дома, предметы, людей, диалоги, т.д. - это яумею...чего не скажешь о скриптах, квестах, триггерах...короче всего что связано с этим...может научит кто скриптовать? rolleyes.gif
Merkuta
Цитата(vladekus @ Jun 14 2010, 08:55) *
Всем привет! thank_you.gif Я собственно новенький у вас...В самом тулсете разбираюсь на среднем уровне...тоесть установить ландшафт, дома, предметы, людей, диалоги, т.д. - это яумею...чего не скажешь о скриптах, квестах, триггерах...короче всего что связано с этим...может научит кто скриптовать? rolleyes.gif

Если знаешь английский, почитай вот это: http://nwvault.ign.com/fms/Download.php?id=151341 Я языком так себе владею, но разобрался. Почитай здесь на форуме вот эту тему: http://www.city-of-masters.ru/forums/index...?showtopic=4879
Laajin
vladekus
задайся целью что-нибудь сделать, потом делай.
на форуме полно примеров, что непонятно спрашивай.
в начале без знания определенного числа функций и типовых построений кода будет тяжеловато, так все начинали.
Montalaar
Что надо сделать для того, что бы при смерти героя у него терялся опыт и деньги?

Ну и для полного счастья хотелось бы узнать у вас... специалистов, каким образом в диалоге одновременно могут участвовать 3 и более персонажей, например как в официальной компании, когда твои спутники вмешиваются в разговор ГГ с NPC.
azathoth
1) Чтобы отбирались деньги опыт - это нужно прописать в скрипте смерти.
2) Поищи поле "Speaker Tag" над текстом реплики - туда можно вставить тэг того, кто будет гововрить - спутники этц
Montalaar
Ясно, а как сделать так, что бы у присоеденённого спутника можно было прокачивать уровень, открывать инвентарь, а так же управлять им как в официальной кампании? Я так понимаю так же нужно редактировать определённые скрипты... или нет?
Griffon
Цитата(Montalaar @ Jul 16 2010, 15:32) *
Ясно, а как сделать так, что бы у присоеденённого спутника можно было прокачивать уровень, открывать инвентарь, а так же управлять им как в официальной кампании? Я так понимаю так же нужно редактировать определённые скрипты... или нет?

после присоединения нпс, ты получишь над ним такой же контроль как и в ОК.
Montalaar
Странно, когда я присоединяю персонажа через команду ga_henchman_add(в моём случае Дикина) то взаимодействие с ним ограничивается лишь отдачей приказов, при этом спутник даже не набирает опыта.
Griffon
Credit to Celestian the Good:

Making a companion, step by step.

First create your companion NPC. I made a fighter/wizardlevel 1/1 and called him Melf the Elf. His Tagname is "melf" and his resref/template was gh_henchman_melf01.

Load up this new NPCs properties and select import properties->script set and load up "c_CompanionScripts.xml". If you do not have this file you can create it by loading the properties of one of the official campaings companions and selecting export properties->script set and save as "c_CompanionScripts.xml".

Next create a conversation.

Right click the root section, select add and for the text just say "Would you like a new companion"?
right click the line you just created and click add and for the text use "Yes, please join my group.".

Now, find and click the "Actions" tab below and add the following global action scripts:

ga_roster_add_object
ga_roster_selectable
ga_roster_party_add
ga_reset_level

Once you have all the scripts added and in the order above click "refresh" for each script to see the variable options. Once you see those enter in the following values:

ga_roster_add_object sRosterName:melf sTarget:melf
ga_roster_selectable sRosterName:melf bSelectable:1
ga_roster_party_add sRosterName:melf
ga_reset_level sCreature:melf bUseXPMods:1

Replace "melf" with whatever tag you used for your companion.

Save the conversation and then add it to your new companions conversation (under properties).

Place the NPC somewhere in your module and go talk to him. Hit the "yes" response and he should be your new best friend!

Further down, ByblosHex adds this advice:

Note that the NPC's tag must be 10 or less characters for these scripts.


Все руководства на сегодняшний день - http://nwvault.ign.com/View.php?category_s...amp;Data_page=1
Alian REXis
Я использую следующие стандартные функции:
Neverwinter Script
int AddRosterMemberByCharacter( string sRosterName, object oCharacter );//добавить NPC в глобальный список NPC, которые могут быть добавлены в партию
int AddRosterMemberToParty( string sRosterName, object oPC );//добавить в партию NPC из списка
int SetIsRosterMemberSelectable( string sRosterName, int bSelectable );// установить возможность выбора участника списка
int SetIsRosterMemberCampaignNPC( string sRosterName, int nCampaignNPC );// установить флаг, что NPC доступен всей компании, а не отдельному модулю

ну и собственно скрипты на нем должны стоять вида "gb_comp_...", если нужно, чтобы было как в офф компании.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2025 Invision Power Services, Inc.