![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#96
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
Цитата 2. Хочу создать ящик, чтобы в нем всегда (при открывании) была скажем бутыль воды. (вообще хочу создать колодец)))) У каждого плейсибла в свойствах есть опция "бла-бла inventory", отмечаешь ее как true, сверху в закладках выбераешь Inventory и заполняешь необходиым барахлом. |
![]()
Сообщение
#97
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Леон, это не сработает. Надо чтобы всегда была вода. а так она будет тока 1 раз.
1. как можно с помощью тригера активировать запись. (ну всмысле дохожу до определенного места и тута вылезает надпись типа "новая запись и т.д.") Neverwinter Script void main() { object oPC = GetEnteringObject(); if (!GetIsPC(oPC)) return; if (GetLocalInt(OBJECT_SELF,"ACTIVATED")) return; SetLocalInt(OBJECT_SELF,"ACTIVATED",TRUE); AddJournalQuestEntry(/*тут твои параметры*/); } по хорошему, чтобы не писать под каждое такое место свой скрипт (у них параметры для записи в журнал разные, а все остальное такое же) надо бы сделать эти параметры в виде локальных переменных на самом триггере. Тогда скрипт (не этот, а новый, но писать влом) будет уже универсальным для всех таких ситуаций, надо будет лишь настроить триггер. Сам думаю осилишь, там не сложно. 2. Хочу создать ящик, чтобы в нем всегда (при открывании) была скажем бутыль воды. (вообще хочу создать колодец)))) Neverwinter Script void main() { CreateItem(/*про функцию в скрипт-редакторе или в лексиконе читай*/); // или CreateItemOnObject(). Память подводит (IMG:style_emoticons/kolobok_light/smile.gif) } ставить на слот onOpen у нужного объекта. Ой забыл rolleyes.gif а с помощью каких ГОТОВЫХ скриптов можно вставить в диалог проверку на характеристику или предмет . Заранее спасибо!!!!Большое!!! Neverwinter Script // This script checks to see if the PC has an item in their inventory // sItem = The tag name you want to check to see if the PC has // nMP = If in MP - set this to 1 if you want to make sure all players have the item gc_check_item (string sItem, int nMP) Другую сам найдешь. Если что, список есть тут: Вики 3. (Самый трудный): как зделать так, что бы при определенной совокупности действий (ну типа "поговорить с тремя NPC перед тем как появиться запись в журнале" или "убить трех волков с тагом "йа_волк" перед тем как появиться запись в журнале или/и ответ в диалоге") Насчет этого вопросо прошу объяснить все очень внятно (как своей Бабушке (можете на ней потренироваться)) если будет нужен скриптинг показать пример (я туп) . собсна вопрос не задан. Упрощенно звучит так: "как, при таком-то таком-то сделать. [точка]". Что сделать - не написано. (или спрятано так, что я не нашел). Но если это то, о чем я думаю - то надо просто сделать квестовую систему. |
![]()
Сообщение
#98
|
|
Level 2 ![]() Класс: Клерик Характер: Lawful Evil Раса: Человек ![]() |
Большое спасибо!!! Но вот еще (IMG:style_emoticons/kolobok_light/wacko.gif)
Цитата 3. (Самый трудный): как зделать так, что бы при определенной совокупности действий (ну типа "поговорить с тремя NPC перед тем как появиться запись в журнале" или "убить трех волков с тагом "йа_волк" перед тем как появиться запись в журнале или/и ответ в диалоге") Насчет этого вопросо прошу объяснить все очень внятно (как своей Бабушке (можете на ней потренироваться)) если будет нужен скриптинг показать пример (я туп) . Имелось ввиду: Персоонаж берет квест убить трех волков недалеко от него (простые диалоговые квест системы создавать умею) дальше убивает трех волков и идет получать награду у НПС, не могу зделать тот момент когда герой убивает трех волков тоесть разница он не убил трех волков/он убил трехволков? Как зделать так чтобы НПС замечал эту разницу и выводил в диалогах ? (В скриптах не БУБ-БУМ (IMG:style_emoticons/kolobok_light/crazy.gif) ) Заранее огромное спасибо!!! PS. У меня не действуют Энкаутеры, ставлю их как тригер а когда перс на них наступает - ничего не происходит. PSS. Научился пользоваться Дневником если кто хочет могу объяснить!!! PSSS. Также нашел замену тому тригеру для появления записи в днивнике. Объясняю основы : 1. Создайте Speak Triger. 2. В меню Variables поменяйте NPC_Tag на Waypoints_Tag. 3. Создайте Вейпоинт (Можно любой но я пробовал wm_party_central) и разместите на тригере 4. Сохраните его таг. 5. Создайте диалог с двумя пустыми фразами - тоесть NPC: "Continion" Player: "End dialog" 6. Закрипите запись в журнале на диалоге NPC (наверно можно и на своем) 7. В меню Variables у тригера в разделе Conversation вставьте название вашего диалога. 8. Наступите на тригер и получите запись в журнале))))))) (IMG:style_emoticons/kolobok_light/biggrin.gif) Баги: Не замечались но возможно секундное потемнение экрана Способ полезен: В самом начале модуля когда вам надо чтобы появилась запись в журнале с самого начала. Способ работает, открыл недавно (возможно я не перво Аткрыватель))) Удачи!!! Ой забыл добавить по способу Таг Вейпоинта вставить в раздел Waypoints_Tag (в закладку Стринг кажеться) |
![]()
Сообщение
#99
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
не могу зделать тот момент когда герой убивает трех волков тоесть разница он не убил трех волков/он убил трехволков самый простой способ, сделать onDeath скрипт у волков, который бы увеличивал некую глобальную переменную на 1. Как только переменная станет равна 3 (те убиты 3 волка), значит задание можно закрывать. |
![]()
Сообщение
#100
|
|
Level 2 ![]() Класс: Клерик Характер: Lawful Evil Раса: Человек ![]() |
1. Я когдато тоже думал (точнее ПЫТАЛСЯ делать) подобный скрипт и я тоже засовывал его в ОнDeath Но ничего не происходило (У меня там проверка стояла) в скриптах не бум бум, но делал все на основе других скриптов. Я думал у Obsidian для таких вещей есть готовый скрипт.Если можеш то объясни Ламеру как такой скрипт написать? (IMG:style_emoticons/kolobok_light/sad.gif)
2. Никак ни могу найти проверку (gc_) на атрибуты тип Харизма Сила и т.д. не подскажете? (IMG:style_emoticons/kolobok_light/rolleyes.gif) Заранее огромное спасибо!!! |
![]()
Сообщение
#101
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
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. На все квесты. В идеале, те конечно так не бывает (IMG:style_emoticons/kolobok_light/smile.gif) Ибо часто надо вместе с переходом в другое состояние делать что-то еще: выдавать предмет/забирать предмет, награду давать и тд.) 4. Подумать еще и всетаки сделать лишь 2 скрипта установки/проверки, а квестовые действия занести в отдельный скрипт (по каждому квесту свой) и там, в одном месте, держать все действия, сопутствующие переходу из одного состояния в другое. ну или придумать с 0 свою систему. (пункт 4 это в принципе сильный уход в сторону от того, что выше написано.) |
![]()
Сообщение
#102
|
|
Level 2 ![]() Класс: Клерик Характер: Lawful Evil Раса: Человек ![]() |
Спасибо ГИГАНСКОЕ !!!!!!! Щас буду разбираться, пробовать и т.д., а то уже надоели не линейные квесты без врагов (IMG:style_emoticons/kolobok_light/prankster2.gif) (IMG:style_emoticons/kolobok_light/declare.gif)
|
![]()
Сообщение
#103
|
|
Level 3 ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
Как менять локации кампании nwn2 ? Годится ли для них система оверрайда, как для диалогов и скриптов? Или все исправления нужно делать непосредственно в родной локации?
А то у меня такая проблема - есть локация 'форт Локе', решила выставить там смену дня/ночи. Сделала это в копии, которую положила в оверрайд. На первый взгляд сработало, в форте Локе наконец появились закаты и рассветы. Но при этом стала пропадать Нишка (она появляется на перекрестке в окружении враждебных солдат). Если точнее - Нишка не попадает в игровой сейв. Т.е. она появляется в локации, как положено, но если потом сохранить игру и загрузить сейв, она исчезнет. (IMG:style_emoticons/kolobok_light/sad.gif) |
![]()
Сообщение
#104
|
|
Level 2 ![]() Класс: Клерик Характер: Lawful Neutral Раса: Человек ![]() |
А есть возможность передвигать воду вверх/вниз, то есть чтобы она не была только лишь на одном уровне?
|
![]()
Сообщение
#105
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
Цитата А есть возможность передвигать воду вверх/вниз, то есть чтобы она не была только лишь на одном уровне? Да, перед тем как рисовать воду - выставь ее высоту в настройках кисти. |
![]()
Сообщение
#106
|
|
Level 2 ![]() Класс: Клерик Характер: Lawful Neutral Раса: Человек ![]() |
Да, перед тем как рисовать воду - выставь ее высоту в настройках кисти. а это где подскажи пжалста (IMG:style_emoticons/kolobok_light/blush.gif) |
![]()
Сообщение
#107
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
у меня нет редактора сейчас.
|
![]()
Сообщение
#108
|
|
Level 18 ![]() Класс: Страж Тьмы Характер: True Neutral Раса: Человек МАСТЕР D&D ![]() |
А есть возможность передвигать воду вверх/вниз, то есть чтобы она не была только лишь на одном уровне? Можно, но только если вода у тебя находится в двух и более квадратах. В границах одного квадрата высота всегда будет одинаковая. Высота, цвет, рябь и все остальное что качается воды задается в закладке terrain -> water. В частности высота регулируется в третьем окне сверху (секция кисти - brush). Только попробуй задать высоту для начала бегунком, т.к. не помню точно какой знак разделения использован в редакторе - точка или запятая. Вроде бы запятая. Высоту можно установить как выше 0, так и ниже. |
![]()
Сообщение
#109
|
|
Level 1 Класс: Маг Характер: Lawful Good Раса: Баатезу ![]() |
Всем привет, есть такой вопрос, можно ли реализовать возможность общения компаньонов между собой и другими NPC, т.е. разговор мог начинать любой компаньон, а не только ГГ.
Просто у меня в оригинальной компании нвн2 был такой глюк, когда Аммон мог спокойно покупать вещи в магазине и общаться с NPC, когда ГГ стоял далеко |
![]()
Сообщение
#110
|
|
Level 18 ![]() Класс: Страж Тьмы Характер: True Neutral Раса: Человек МАСТЕР D&D ![]() |
Конечно можно. Ведь в самом начале игры и папаша и первые компаньоны сами разговор с ГГ начинают.
|
![]()
Сообщение
#111
|
|
Level 1 Класс: Маг Характер: Lawful Good Раса: Баатезу ![]() |
не, я имею ввиду не то, а именно что бы управляя одним компаньоном можно было поговорить с другим, не переключаясь на главного героя
|
![]()
Сообщение
#112
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Нет. А если и можно то через задний проход.
|
![]()
Сообщение
#113
|
|
Level 1 Класс: Обыватель Характер: Chaotic Neutral Раса: Человек ![]() |
Ну раз тема называется "Вопрос новичков" или "Я ничего не понимаю", то я надеюсь, что вы не будете сильно смеяться над моим абсолютно нубским вопросом (IMG:style_emoticons/kolobok_light/rolleyes.gif)
А заключается он в следующем: каким образом можно открыть в тулсете уже существующий файл .uti (доспехи) и изменить его? Я читала туториал по созданию новых предметов, но не нашла там ответа на свой вопрос... |
![]()
Сообщение
#114
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Открыть модуль, кинуть в папку modules/temp0 этот файл, сделать ребилд палитры, найти предмет в палитре и отредактировать.
|
![]()
Сообщение
#115
|
|
Level 1 Класс: Обыватель Характер: Chaotic Neutral Раса: Человек ![]() |
virusman,
Благодарю за ответ, только вот дело Вы имеете с абсолютным чайником, не имеющим ни малейшего представления, что такое "ребилд палитры" и как его сделать. (IMG:style_emoticons/kolobok_light/unsure.gif) |
![]()
Сообщение
#116
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Упс, только что заметил, что речь о тулсете НВН2.. Тогда не знаю. |
![]()
Сообщение
#117
|
|
Level 2 ![]() Класс: Рейнджер Характер: True Neutral Раса: Эльф ![]() |
Кто может посмотреть мой модуль, у меня почему-то не хочет работать триггер разговора - выбрасывает из игры. Вот модуль (130кб) http://dump.ru/file/1133711
|
![]()
Сообщение
#118
|
|
Level 4 ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN2: Маппинг ![]() |
DarkPhoenix, с диалогом все нормально, это бэйк не сделан. (File → Bake Current Area)
|
![]()
Сообщение
#119
|
|
Level 2 ![]() Класс: Рейнджер Характер: True Neutral Раса: Эльф ![]() |
Ааа, спасибо! Вот это я дурак XD
|
![]()
Сообщение
#120
|
|
Level 1 Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Доброго времени суток!
Сразу спешу извиниться за глупейший вопрос, на который никак не могу найти ответа. (IMG:style_emoticons/kolobok_light/shok.gif) Я создала внутреннюю локацию (используя тайл замка). Когда я тестирую модуль, у меня почему-то не отображается потолок, вместо него просто черное пространство. В Toolset все выглядит как полагается. Подскажите как это исправить. Заранее благодарю! |
![]() ![]() |
Текстовая версия | Сейчас: 16th July 2025 - 19:27 |