![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#5061
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата Исчезает невидимый плейс, с которым, собственно, и ведется диалог. Почему плейс-то? (IMG:style_emoticons/kolobok_light/smile.gif) Теги что ли одинаковые у плейса и нпс? Так надо разные, или тип объекта проверять.
|
![]()
Сообщение
#5062
|
|
Level 6 ![]() ![]() Класс: Волшебник Характер: Chaotic Good Раса: Человек ![]() |
Почему плейс-то? (IMG:style_emoticons/kolobok_light/smile.gif) Теги что ли одинаковые у плейса и нпс? Так надо разные, или тип объекта проверять. Извини, зря я вообще этот плейс приплел. Путаницу вношу. Просто слона невозможно кликнуть, он же лежит труп-трупом. Диалог ("Снять шкуру --- Вырыть яму --- Закопать слона") идет с невидимым плейсом под брюхом у непися. Теги у плейса и непися-слона, разумеется, разные. Просто в конце диалога перс типа хоронит слона, дестроятся оба, и слон и плейс. То есть должны дестроиться. С плейсом все ок, а со слоном-неписью... Просто беда... |
![]()
Сообщение
#5063
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Потому что действие дестрой вешается на плейс, и после его уничтожения некому уничтожать слона? Через assign можно дестрой на модуль повесить. Или слона сразу, а плейс - через секунду делэем.
|
![]()
Сообщение
#5064
|
|
Level 6 ![]() ![]() Класс: Волшебник Характер: Chaotic Good Раса: Человек ![]() |
В том то и проблема, что у меня не получается объяснить компилятору, что функцию "SetIsDestroyable(TRUE,TRUE,TRUE)" надо применять не к плейсу, ч которым диалог, а к объекту с другим тегом.
Потому что действие дестрой вешается на плейс, и после его уничтожения некому уничтожать слона? Через assign можно дестрой на модуль повесить. Или слона сразу, а плейс - через секунду делэем. Разумеется, я именно так и делал. Сначала дестрой слону, а потом, через пару строк, в самом конце диалога - плейсу. Разными скриптами. Иначе бы диалог просто прервался. Причем На последней строчке не только дестрой плейсу, а еще + переключение квеста, куча дебафов на перса, типа задолбался, реплика перса. Через акции. И все работает как часики. Кроме чертова слона!!! |
![]()
Сообщение
#5065
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата у меня не получается объяснить компилятору, что функцию "SetIsDestroyable(TRUE,TRUE,TRUE)" надо применять не к плейсу, ч которым диалог, а к объекту с другим тегом. Через ассигн? Кстати, неплохо бы и SetCommandable(true) делать. Иначе ассигн не сработает. А зачем вообще там false делается в начале? Он же вроде невыделяем вообще, его блокировать не надо.
|
![]()
Сообщение
#5066
|
|
Level 6 ![]() ![]() Класс: Волшебник Характер: Chaotic Good Раса: Человек ![]() |
Через ассигн? Нет. Через ассинг у меня последний скрипт в диалоге. Но там иначе никак. Много всего: переключение квеста, анимация, затемнение, отсчет времени, крейт с палитры кучи мусора (могила слона) и т. д. Но этот скрипт как раз работает нормально. Все команды выполняются. А для "SetIsDestroyable(TRUE)" я пытался сочинить отдельный скрипт. Тоже в диалоге, парой строк раньше. Исключительно для нее. Где тупо, в лоб, желательно вообще одной строкой объяснить компилятору, что эту функцию надо применить к объекту с тегом "ELEFANT_DEATH". И не сумел. Понимаешь, я вообще впервые с этой функцией столкнулся. Нет примера перед глазами, как правильно сформулировать. На все попытки сформулировать по аналогии с другими функциями компилятор ругается. А сам сочинять я умею, увы, только на русском. |
![]()
Сообщение
#5067
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Как всё сложно. Нелегко ванговать, но могу предложить следующее:
SetCommandable(FALSE); - убрать. Кажется, оно ни на что не влияет, пациент дохлый. Для разрушения сделать в диалоге: Neverwinter Script AssignCommand("слон", SetIsDestroyable(TRUE));
AssignCommand(GetModule(), DestroyObject("слон")); |
![]()
Сообщение
#5068
|
|
Level 6 ![]() ![]() Класс: Волшебник Характер: Chaotic Good Раса: Человек ![]() |
Как всё сложно. Дык, я обычно и не прошу помощи пока сам не расшибу лоб апстену. (IMG:style_emoticons/kolobok_light/vava.gif) SetCommandable(FALSE); - убрать. Кажется, оно ни на что не влияет, пациент дохлый. В том то и беда, что влияет. И еще как. Без этого FALSE-а моделька исчезает совершенно самостоятельно. Без всяких диалогов-команд-дестроев. Стоит только персонажу ее просто увидеть. Даже подходить не обязательно. И не получается как раз отменить эту функцию через скрипт диалога. Ну, или заменить на SetCommandable(труЪ); - тот же арбуз, только сбоку. Кстати, я еще в первом посту на эту тему спрашивал: может, существует какой-то более другой способ удержать модельку? Без SetCommandable(FALSE); И тогда в нужный момент можно бы ее убрать простым дестроем, без танцев с бубнами. За "GetModule()," спасибо огромное! Мне эта идея почему-то не приходила в голову. А надо бы! Нутром чую, раз моделька так себя ведет, - это модульные заморочки. Пошел пробовать всякие варианты. Спасибо еще раз! denis0k, мой должок тебе, и без того немаленький, увеличился на порядок! Все работает! Мерзкая тварь исчезла. Больше того, я понял, почему компилятор ругался на мои прежние попытки. Я писал как в теле (на OnSpawn) непися, т. е. SetIsDestroyable(TRUE,TRUE,TRUE); Оказалось, в диалоге надо всего 1 раз. Я специально не писал, как для меня важен этот издевательский квест. А он не просто сюжетный, он ключевой. Понимаешь, мой Робинзон наконец-то добрал к людям, нашел деревушку с прекрасными туземками. Бежит к ним весь на крыльях, готовый спасать принцесс и побеждать драконов. А его все игнорят. И только старый ехидный шаман дает квест: иди как ты, геройский наш, закопай слона. Герой в ауте, но... куда деваться! В общем, прошу прощения за оффтоп и многабукв. denis0k, спасибо еще раз. Огромное! |
![]()
Сообщение
#5069
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Если нужно вырубать очередь, то можно её потом и включить: SetCommandable(TRUE, "слон").
|
![]()
Сообщение
#5070
|
|
Level 6 ![]() ![]() Класс: Волшебник Характер: Chaotic Good Раса: Человек ![]() |
Ага, спасибо. Щас попробую слепить оба скрипта в один, в конец диалога. Так будет правильней, а то он, гад, сразу исчезает. Пусть исчезает во время затемнения.
|
![]()
Сообщение
#5071
|
|
Level 3 ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Сиала ![]() |
Ага, спасибо. Щас попробую слепить оба скрипта в один, в конец диалога. Так будет правильней, а то он, гад, сразу исчезает. Пусть исчезает во время затемнения. Получилось? Если нет, скинь модуль, я посмотрю и поправлю, а то разбираться на форуме дольше, чем сделать. |
![]()
Сообщение
#5072
|
|
Level 3 ![]() Класс: Бледный Мастер Характер: Chaotic Neutral Раса: Человек ![]() |
При копировании русского текста из тулсета вставляется в виде нечитабельных символов (Óðîâåíü(íè) Çàêëèíàòåëÿ). Русификатор для тулсета NWTSrus.rar не помогает. Как пофиксить?
Вот кстати сейчас когда редактировал один раз показало как нужно. Сообщение отредактировал zmeylsdn - Mar 4 2019, 18:12 |
![]()
Сообщение
#5073
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Попробуй в nwtoolset.ini шрифт сменить на Courier New Cyr, раньше что-то такое работало. Ещё можно попробовать вставлять в какой-нить крутой редактор типа notepad++ и баловаться с кодировками.
|
![]()
Сообщение
#5074
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Самый простой способ это переключить раскладку там где вы копируете и там куда копируете. Это реально работает.
Если раскладка разная будут кракозябры. Вроде надо рус / рус, чтобы было нормально Сообщение отредактировал Melisse - Mar 5 2019, 11:39 |
![]()
Сообщение
#5075
|
|
Level 3 ![]() Класс: Бледный Мастер Характер: Chaotic Neutral Раса: Человек ![]() |
-0-Это реально работает, спасибо)
-1-Есть ли способ, чтобы при достижении DAMAGE_BONUS_20 (вроде как предел для нвн без доп програм), добавлялся следующий тип урона например CODE #include "x2_inc_itemprop" /* int IPGetDamageBonusConstantFromNumber(int nNumber) { switch (nNumber) { case 1: return DAMAGE_BONUS_1; // здесь строки для 2-19 case 20: return DAMAGE_BONUS_20; //a)case 21: return DAMAGE_BONUS_20 дробящий +DAMAGE_BONUS_1 режущий вплоть до //case 40: return DAMAGE_BONUS_20 дробящий +DAMAGE_BONUS_20 режущий } } */ void EmpowerMySummon(int iBonus, object oSummon) { eSummonBonuses = EffectDamageIncrease(IPGetDamageBonusConstantFromN umber(iBonus), DAMAGE_TYPE_BLUDGEONING); //б)или здесь DAMAGE_TYPE_BLUDGEONING, DAMAGE_TYPE_SLASHING } в)Или может через два эффекта (EffectDamageIncrease()), но чтобы второй подключался только когда первый достигнет максимума г)По идее можно и так: eSummonBonuses = EffectDamageIncrease(IPGetDamageBonusConstantFromN umber(iBonus/2), DAMAGE_TYPE_BLUDGEONING); eSummonBonuses = EffectDamageIncrease(IPGetDamageBonusConstantFromN umber(iBonus/2), DAMAGE_TYPE_SLASHING); Тогда при iBonus=40 будет 20+20. -2-SSMLevelUpCreature не разобрался, сделал ап через эффекты EffectDamageIncrease(iBonus=GetHitDice) и т.п. Если у кого есть готовый пример поделитесь пож). |
![]()
Сообщение
#5076
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Что мешает попробовать? (IMG:style_emoticons/kolobok_light/smile.gif) Можно и добавлять второй эффект, можно сразу два вешать. Я бы только советовал присмотреться к типам типа режущего/дробящего/колющего, там какой-то баг был, по крайней мере на оружии, урон типа добавлялся, но тип был другой, судя по прохождению резистов мобов.
|
![]()
Сообщение
#5077
|
|
Level 1 Класс: Обыватель Характер: True Neutral Раса: Рептилия ![]() |
Живые есть? sneak/death attack можно проводить не только оружием ближнего боя, но и при помощи лука.
справка: https://nwn.fandom.com/wiki/Sneak_attack Дистанция 30 feet (хз). Ищу способ нарисовать данный радиус. Готовых модов не нашел. Google сообщает что на врагов можно навесить плавающий идентификатор когда они будут в нужном радиусе, н.р. https://nwnlexicon.com/index.php/FloatingTe...tringOnCreature . Но информации как добавить такую или подобную функциональность в оригинальную компанию я не нашел. |
![]()
Сообщение
#5078
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
специальные атаки типа сников/смертельный удар убийцы, а так же режимы кнок, парирование, экспертиза - вшиты в движек и без использования сторонних программ не возможно как-то влиять на них.
|
![]()
Сообщение
#5079
|
|
Level 1 Класс: Обыватель Характер: True Neutral Раса: Рептилия ![]() |
Я не хочу влиять на механику, я хочу 1) нарисовать кружок вокруг персонажа. Либо 2)пометить персонажей которые находятся в N радиусе от моего.
|
![]()
Сообщение
#5080
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Я не очень понимаю что вы с этим сделаете, но
Скриптом через цикл: Neverwinter Script int n = 1; object oSphere = GetNearestCreature (CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1); while (oSphere!= OBJECT_INVALID) { if (GetDistanceBetween (OBJECT_SELF, oSphere ) <= 30.0f) { // тут эффект какой-нить? } n++; oSphere = GetNearestCreature (CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, n); } пробежаться по объектам и навесить эффект на все что нужно в его ореоле. Эффекты будут видны всем, если без использования специальных программ типа нвнх и прочего. Вопрос только как вы скрипт запустите, на хербит персонажа? Потому что все действия, как я уже писала выше, они хардкоденные (IMG:style_emoticons/kolobok_light/smile.gif) туда никаких дополнительных штук не добавить/изменить и прочее. |
![]()
Сообщение
#5081
|
|
Level 1 Класс: Обыватель Характер: True Neutral Раса: Рептилия ![]() |
"хербит персонажа" это что, (herb) подтравой?
Я нашел что в игре есть скриптинг, aurora toolset итд, но инструкции начинаются с... создадим модуль. Хочу получить функционал в уже существующей стандартной компании. (можно: как навык персонажа, предмета, любым другим способом) Возможно я просмотрел/ не нашел / не понял. Если вы дадите мне ссылку где почитать как добавить скрипт или просто готовое решение (нр: вот тебе кружок), будет очень хорошо. |
![]()
Сообщение
#5082
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Хочу получить функционал в уже существующей стандартной компании. (можно: как навык персонажа, предмета, любым другим способом) Возможно я просмотрел/ не нашел / не понял. Если вы дадите мне ссылку где почитать как добавить скрипт или просто готовое решение (нр: вот тебе кружок), будет очень хорошо. Сложность скриптинга настолько сложна, что попытки описания насколько они сложны обывателю могут быть равны попыткам научить его писать скрипты. Даже если мы дадим совет, направим куда смотреть, Вы его не поймете. Есть база готовых скриптов, но что бы их установить, тоже нужны знания. Есть тот же с++, если НВН движок не понятен, можно начать с "си". Компания работает на своих скриптах, в их механике тоже надо разбираться тонну времени. Зачем эти заморочки? я хочу Для чего? |
![]()
Сообщение
#5083
|
|
Level 1 Класс: Обыватель Характер: True Neutral Раса: Рептилия ![]() |
Все что мне нужно, описано (повторно) в этом сообщении. (игра NWN 1)
> sneak атака из лука работает только если цель находится на расстоянии 30 feet, иначе происходит обычный выстрел. Единственный способ понять какая будет атака это использовать глазомер. Как я вижу решение: 1) рисовать контур заданным радиусом вокруг персонажа. http://psand.ru/wp-content/uploads/2013/03...g-apelsinov.jpg 2) помечать вражеских персонажей цветом / плавающим текстом. __________________________________________________ ______ что я сделал для решения этой задачи: проверил nexus (там только шлак), узнал что возможен скриптинг, нашел этот форум. у меня есть список доступных функций https://nwnlexicon.com/index.php?title=Category:Functions и даже туториал который начинается с описания как создать модуль, но (как мне кажется) вникать во всю специфику это слишком. потому что мне нужен только кружок. Aiwan программировать учат даже идиотов в школе уже давно, это обще доступный скилл, на уровне математики и химми итд. нр. Что бы нарисовать кружок в unity нужно к префабу объекта присединить скрипт (ниже) вписанный в Update(). и все! одно предложение! https://answers.unity.com/questions/1527538...n-a-circle.html https://docs.unity3d.com/ScriptReference/MonoBehaviour.html |
![]()
Сообщение
#5084
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Ну так в чем дело то? Кто мешает все реализовать? Лексикон знаете, программировать умеете. (IMG:style_emoticons/kolobok_light/pardon.gif)
А если точно, то вот что нужно: Нужен скрипт, который будет запускаться у Вас. Этот скрипт будет сканировать вокруг на определенном расстоянии, искать враждебных НПС, если они ближе или ровны 30 метров от РС, то можно хоть текст над головой сделать или любой спцэффект из набора. Вот и весь скрипт. Можно сделать амулет с бесконечным зарядом в быстрый слот. На его "он юзед" объект вставить нужный скрипт и вуаля. Все заработает. Кто бы написал. У меня НВН нет сто лет. О, я только прочел, что Мелисса написала то же самое, только уже заготовку. Дерзайте. |
![]()
Сообщение
#5085
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Юнити - игровой движок с морем функций. Аврора - просто казуальный редактор с печально ограниченным набором команд.
Хертбит ("сердцебиение") - это скрипты всех объектов игры, запускаемые раз в ~6 секунд. Это, с одной стороны, адово тормозно, с другой, - всё равно слишком редко, чтобы на него полагаться. Я рекомендую так. 1. EffectAreaOfEffect + vfx_persistent.2da, скопировать тот же страх дракона. Радиусы там в метрах, 30 фт ~ 9 м, но биовари кажется об этом не знают (IMG:style_emoticons/kolobok_light/smile.gif) У них всё кратно 10 м, в т.ч. размеры тайлов/локаций, мб и радиус сника тоже 10 м. 2. На заход в модуль (можно редактировать кампанию вроде) бафать эти эффектом игрока навечно, т.о. вокруг него будет аура. |
![]() ![]() |
Текстовая версия | Сейчас: 20th August 2025 - 12:24 |