Помощь - Поиск - Пользователи - Календарь
Полная версия: ОДИНОЧНЫЙ ВОПРОС
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68
Batkom
Не смог найти ни здесь ни на ваулте, но вроде бы это тут обсуждалось.
Ни у кого не завалялось ссылочки на оверрайд стандартного тайлсета, дабы вместо бесконечной степи за границей локации игры было какое-то заполнение?
farah
типа вот этого?



Batkom
Да, да, очень похоже.
farah
вот этот хак http://nwvault.ign.com/View.php?view=Hakpa...ail&id=4551
seven
Вопрос по фракциям. Лепим шард. Нужно разбить игроков на 2 фракции (банальные наземные и подземные). Как правильней это реализовать, ведь по умолчанию игроку выдается одна стандартная фракция?

Предлагали такой вариант:
Цитата
В бд у каждого игрока прописана репутация с каждой из фракций. При создании чара поверхностные получают хорошую репутацию со своими неписями, плохую - с андером, андеры - наоборот. Между самими игроками можно только включить дизлайк.

Но такой вариант не совсем подходит, так как дизлайк можно снять. Да и ставить дизлайк постоянно вручную надо... Возможно ли как-то реализовать полноценный две фракции игроков?
Laajin
нужно делать кастомный хербит на модуль и там ставить проверку каждые 10 сек, например, на дисклайк, в зависимости от фракций
по другому не приходит в голову
GoodLuc
Можно ли создать ui для Neverwinter Nights?
virusman
Только визуально подправить уже существующий.
PaiNt
Вопрос:
-Хочется сделать возможность одевать любую броню, независимо от имеющихся навыков, как оружие, но со штрафами которые навешиваются скриптом.
--Возможно ли сделать такую броню?
Talarasha
Если задача стоит именно в том, чтобы устранить проверку на умения - скорее всего, нет, но буду рад узнать, что я ошибаюсь.
Если задача стоит в том, чтобы просто позволить любому классу одевать любую броню с системой штрафов, то ответ да, такое можно сделать. Общий алгоритм:
1)Добавляем всем классам навыки владения любой броней (через 2da "cls_feat_* или, например, скриптом, выдающим после старта модуля игроку шкурку с нужными умениями);
2)Добавляем собственные фиты с нулевым функционалом в feats.2da
3)Делаем в модуле скриптовую обработку штрафов - проверяем наличие у персонажа 'нашего' фита и если его нет, даем штрафы. Конструкция скриптовой обработки примерно такая:
Neverwinter Script
if(GetHasFeat(2500,oTarget))
    {
        // Содержание штрафов
    }

2500 здесь это номер добавленного нами в feats.2da фита, oTarget - переменная, в которую записан NPC или игрок, к которому применяются штрафы - его можно получить, например, через object oTarget = GetEnteringObject(); в случае, если скрипт висит на входе в модуль. Содержание штрафов тоже можно реализовать по-разному - той же шкуркой, или например изменением свойств (ItemProperty*) надетой брони.
PaiNt
Помойму на итемпропертях нельзя добавить фиты владения. Такчто лучше через 2да.

Да я думал о таком методе как ты огласил - но он очень некрасивый smile.gif.
Talarasha
Цитата
Помойму на итемпропертях нельзя добавить фиты владения. Такчто лучше через 2да.

Почему, можно. В русском 1.69 .tlk в свойствах шкурки "бонусное умение".
Asmodey
Хотел узнать, возможно ли сделать постоянный респаун мобов, чтобы они после смерти через какое-то время снова появлялись на том же месте?

Извините, вопрос снимаю, уже нашёл (я просто новичёк, пока редактор изучаю) pardon.gif
PaiNt
Цитата(Talarasha @ Sep 3 2010, 15:34) *
Почему, можно. В русском 1.69 .tlk в свойствах шкурки "бонусное умение".

фиты владения оружием
Talarasha
Цитата(PaiNt @ Sep 16 2010, 14:09) *
фиты владения оружием

Lukas Addon
Прошу вашей помощи, использовал скрипт призрака из базы скриптов.
Но не получается снять эффекты.

вот скрипт призрака .
Neverwinter Script
void SetGhostState(object oPC)
{
  // polymorph, so we can't equip/use things, cast spells etc.
  effect eGhost = EffectPolymorph(POLYMORPH_TYPE_SPECTRE,TRUE);
  // this way we can pass thru other mobs
  eGhost = EffectLinkEffects(EffectCutsceneGhost(),eGhost);
  // ghosts are invisible, you know
  eGhost = EffectLinkEffects(EffectInvisibility(INVISIBILITY_
TYPE_DARKNESS),eGhost);
  // ghosts can't attack as well
  eGhost = EffectLinkEffects(EffectDazed(),eGhost);
  // others can't detect ghosts, no way!
  eGhost = EffectLinkEffects(EffectEthereal(),eGhost);
  // these effects can't be dispelled, as well as they can't be removed by rest
  eGhost = SupernaturalEffect(eGhost);

  ApplyEffectToObject(DURATION_TYPE_PERMANENT,eGhost
,oPC);
  SetPlotFlag(oPC,TRUE); // ghosts are invincible
  SetLocalInt(oPC,"IAmAGhost",1);
}



вот как я его снимаю
Neverwinter Script
SetPlotFlag(oPC2,FALSE);
                  RemoveEffects2(oPC2);


а вот как выглядит функция RemoveEffects2

Neverwinter Script
void RemoveEffects2(object oObject)
{
    effect eEff = GetFirstEffect(oObject);
    while(GetIsEffectValid(eEff))
    {
        int nType = GetEffectType(eEff);
        if( GetEffectSubType(eEff) != SUBTYPE_EXTRAORDINARY &&
            (nType == EFFECT_TYPE_ABILITY_INCREASE ||
              nType == EFFECT_TYPE_AC_INCREASE ||
              nType == EFFECT_TYPE_ATTACK_INCREASE ||
              nType == EFFECT_TYPE_BLINDNESS ||
              nType == EFFECT_TYPE_CHARMED ||
              nType == EFFECT_TYPE_CONCEALMENT ||
              nType == EFFECT_TYPE_CONFUSED ||
              nType == EFFECT_TYPE_CURSE ||
              nType == EFFECT_TYPE_DAMAGE_IMMUNITY_INCREASE ||
              nType == EFFECT_TYPE_DAMAGE_INCREASE ||
              nType == EFFECT_TYPE_DAMAGE_REDUCTION ||
              nType == EFFECT_TYPE_DAMAGE_RESISTANCE ||
              nType == EFFECT_TYPE_DAZED ||
              nType == EFFECT_TYPE_DEAF ||
              nType == EFFECT_TYPE_DOMINATED ||
              nType == EFFECT_TYPE_ELEMENTALSHIELD ||
              nType == EFFECT_TYPE_ETHEREAL ||
              nType == EFFECT_TYPE_FRIGHTENED ||
              nType == EFFECT_TYPE_HASTE ||
              nType == EFFECT_TYPE_IMMUNITY ||
              nType == EFFECT_TYPE_IMPROVEDINVISIBILITY ||
              nType == EFFECT_TYPE_INVISIBILITY ||
              nType == EFFECT_TYPE_INVULNERABLE ||
              nType == EFFECT_TYPE_ABILITY_INCREASE ||
              nType == EFFECT_TYPE_NEGATIVELEVEL ||
              nType == EFFECT_TYPE_PARALYZE ||
              nType == EFFECT_TYPE_POLYMORPH ||
              nType == EFFECT_TYPE_REGENERATE ||
              nType == EFFECT_TYPE_SANCTUARY ||
              nType == EFFECT_TYPE_SAVING_THROW_INCREASE ||
              nType == EFFECT_TYPE_SEEINVISIBLE ||
              nType == EFFECT_TYPE_SILENCE ||
              nType == EFFECT_TYPE_SKILL_INCREASE ||
              nType == EFFECT_TYPE_SLOW ||
              nType == EFFECT_TYPE_SPELL_IMMUNITY ||
              nType == EFFECT_TYPE_SPELL_RESISTANCE_INCREASE ||
              nType == EFFECT_TYPE_SPELLLEVELABSORPTION ||
              nType == EFFECT_TYPE_TEMPORARY_HITPOINTS ||
              nType == EFFECT_TYPE_TRUESEEING ||
              nType == EFFECT_TYPE_ULTRAVISION ||
              nType == EFFECT_TYPE_INVULNERABLE)
            )
            RemoveEffect(oObject, eEff);
        eEff = GetNextEffect(oObject);
    }
}

Ilerien
Ну да, функция снятия кривая. Там нужно что-то вроде:
Neverwinter Script
void RemoveGhostStateEffects(object oObject)
{
    effect eEff = GetFirstEffect(oObject);
    while(GetIsEffectValid(eEff))
    {
        if(GetEffectType(eEff) == EFFECT_TYPE_CUTSCENEGHOST && GetEffectSubType(eEff) == SUBTYPE_SUPERNATURAL && GetEffectDurationType(eEff) == DURATION_TYPE_PERMANENT)
        {
            RemoveEffect(oObject, eEff);
            break;
        }

        eEff = GetNextEffect(oObject);
    }
}
К сожалению, дефолтные функции не позволяют напрямую работать с идентификатором заклинания на эффекте, поэтому есть маленький шанс, что снимется в итоге другой эффект - буде он удовлетворяет всем трём условиям (эффект типа EFFECT_TYPE_CUTSCENEGHOST, супернатуральный и перманентный).
Lukas Addon
Спасибо, отпишусь когда заработает .
Ilerien
Кстати, с кривой функцией я погорячился. Она, в общем, должна была снять этот эффект - правда, вместе с ним и потенциально кучу других. Проблема в чём-то ещё, скорее всего, не в выложенном коде smile.gif
rdx
Ребята, хочется сделать plt иконки плащей (иконки для инвентаря ирока), которые 1) цветные 2) цвет не меняется в зависимости от цвета плаща. возможно такое?

еще лучше было бы иметь возможность использовать с новыми плащами старые tga иконки + для части плащей - новые. возможно?

или придется все-таки в baseitems.2da прописывать и старые, и новые плащи?
PaiNt
Можно попытаться идентифицировать эффекты по создателю... создавая определенные обекты для создания определенных эффектов?

Вообще я пользуюсь нечтом подобным для системных эффектов:
Neverwinter Script
void pEQUZ_AddEffectToPlayer(object oPlayer, effect eEffect, int iDur, object oCreator, float fDur=0.0)
{
eEffect=SupernaturalEffect(eEffect);
AssignCommand(oCreator, ApplyEffectToObject(iDur, eEffect, oPlayer, fDur));
}






void pEQUZ_RemoveEffectFromPlayer(object oPlayer, int iType, int iDur, object oCreator)
{
effect eTempEffect=GetFirstEffect(oPlayer);
while(GetIsEffectValid(eTempEffect))
    {
    if(GetEffectSpellId(eTempEffect)==-1)
        {
        //Перестраховка
        if(
        GetEffectType(eTempEffect)==iType &&
        GetEffectSubType(eTempEffect)==SUBTYPE_SUPERNATURA
L &&
        GetEffectDurationType(eTempEffect)==iDur &&
        GetEffectCreator(eTempEffect)==oCreator
        )
            {
            RemoveEffect(oPlayer, eTempEffect); return;
            };
        };


    eTempEffect=GetNextEffect(oPlayer);
    };
}
Wercus
Доброго времени суток!
Собственно весь вопрос состоит в растительных плейсах...
Может кто нибудь подсказать такой хак где есть пшеница тыквы.. в общем все что растет на грядках
ЗЫ Поисом пользовался ...
Заранее спасибо.
PaiNt
Вопрос:
-Как сделать чтобы определение количества атак монаха распространялось и на сюрикены?.
Ilerien
Юзать NWNX. Конкретно - плагин NWNX Weapons.
good624
мм... Мне кто нибудь может объяснить как вытащить из НВН несколько в 3д макс тайлов, изменить, и засунуть обратно? scratch_one-s_head.gif

Цитата(good624 @ Nov 12 2010, 10:40) *
мм... Мне кто нибудь может объяснить как вытащить из НВН несколько тайлов в 3д макс, изменить, и засунуть обратно? scratch_one-s_head.gif

Teranozavr_REX
день добрый
мне надо сделать фит FEAT_EPIC_GREAT_DEXTERITY_11
есть ли такая возможность? Если есть опишите в каком 2да покопаться.

Ilerien
Нет такой возможности.
Teranozavr_REX
Хорошо зайдем с другой стороны, есть ли возможность чару с 8 силы сделать временно 50
denis0k
Просто - нет. Нвн допускает сделать максимум +12 к любой абилке через вещи и обкаст (все плюшки между собой складываются, но сумма ограничена сверху).
good624
Народ плиз помогите мне с моим глюком scratch_one-s_head.gif :

Я сделал несколько тайлов и оружие, но в палитре ничего не появилось - тока все тайлы в случайном порядке разбросались и на оружии не отображаются текстуры и иконки (все текстуры и иконки в формате .tga)
Я это все делал по этому уроку scratch_one-s_head.gif :
http://nwnmod.narod.ru/stat_lce_blade_1.htm
Кто знает как это можно исправить, плиз подскажите! shout.gif
good624
Ауу! Здесь хоть кто-нибуть обитает? и может ответить мне? sad.gif
Leon PRO
Попробую откопать воспоминания почти Цатилетней давности =)
Судя по всему ты напортачил в .set файле c тайлами. И не нарисовал превьюшки к новым моделькам (белые квадраты) или он просто их не находит.
Ice Blade
А я уже вообще ничего не помню... Да и информация в том описании устарела ещё во времена НВН, местами неточна, а местами вообще неправда biggrin.gif Ну что поделать это одно из первых описаний процесса вообще.
Хотя... кое чего вспоминаю.
Проверь описания тайлов в set файле, в частности стыки типов местности TopLeft TopLeftHeight TopRight и т.д, НВН автоматом вращает тайлы в зависимости от этих типов.
Что до оружия проверь ModelType должен быть 0 кажется и DefaultIcon, хотя если текстуры не отображаются то возможно дело в альфа канале... впрочем.. я уже точно не помню особенностей НВН-шных tga-шек и dds-ок.

PS
Как я счастлив что в ДА сейчас нет таких заморочек с тайлами, set-файлами, itp - и т.д - хотя в целом и стало всё сложней. prankster2.gif
kiruhs
Вот такой вопрос. Где можно отключить проверку на наличие агрессивных мобов рядом при отдыхе? В каком скрипте это прописано? Не могу найти
Ilerien
Консультант взял отпуск? wink3.gif
NWNX в руки - это не скрипт, а движковая фича.
kiruhs
Цитата(Ilerien @ Dec 13 2010, 15:31) *
Консультант взял отпуск? wink3.gif

Консультант тока вечером будет, а работа стоит)))

Ясно. Спасибо. Значит будем нвнх копать...
Ilerien
Там с нуля, видимо, придётся писать - я навскидку не помню ни одной реализации этой задачи в NWNX.
good624
Спасибо вам за советы, но я решил взять уже готовый хак (от Order of Time) и немного изменить его. Я взял из него модели разрушенного забора и прямо в 3д максе изменял до вот такой стенки,


но как видите я опять столкнулся с несколькими проблемами. (И кстати одна Walkable поверхность не может находиться над другой Walkable поверхностью, но это уже мои догадки)
Но тут мои глючные стены начали влиять и на окружающую местность (местами на карте я взлетал высоко в небо)


Потом я попробовал создать несколько плейсеблов (компьютерный стол и ящик (да-да, именно тот серый кубик), но текстуры опять не появились + оказалось что я могу проходить сквозь них, раньше я такой способности за собой не замечал)))

Но с оружием мои успехи немного продвинулись - оно приобрело странный зелёный цвет (увы не соответствующий текстуре) и наконец начал стрелять пулями от пращи, а не стрелами, хотя вылетает немного выше чем хотелось бы.

Также поэкспериментировал с внешностью, но текстур опять нет + дыхание выходит через зад(при тестинге я дал способности как у Iron Golem)

зато у получилось сделать гранату (анимация полёта как у огня алхимика (но летит модель гранаты(!), но персонаж лишь выставляет руки вперёд как при использовании предмета)

и еще одна моя догадка:
имя Helper-а должно соответствовать имени файла.
Заранее спасибо, буду жутко благодарен если кто-то сможет помочь с глюками (хотя скорее это не глюки,а мои ошибки)))
good624
Вот еще один вопрос:

В тулсете на моем шлеме видны хоть какие-то текстуры (это уже что-то, ведь с остальными можно разобраться потом), а в НВН это все заменяется кааой-то медной текстурой с отражением

У меня есть пока тока одно предположение: я не делал PLT файла, если проблема в этом то подскажите как его сделать.
Talarasha
Вопрос следующий.
Имеются визуальный эффекты, под них необходимо сделать заклинание и заскриптить его.
Визуальная часть состоит из трех моделей - эффект каста (на руках мага), снаряд, взрыв на цели. Первые две модели прописываются прямо в описании заклинания (spells.2da), а взрыв - в файле visualeffects.2da и затем вызывается из скрипта. Выглядит это примерно так:

Neverwinter Script
effect eExplode = EffectVisualEffect(VFX_MY_NEW);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eExplode, oTarget);

Новый эффект - VFX_MY_NEW, корректно прописан в visualeffects.2da и закинут в хак, подключенный к модулю, но. Компилятор отказывается собирать скрипт. Как раз по причине этого эффекта.
Если взять любой из стандартных эффектов - все соберется. Новый - никак, неопознанная переменная. Причина этого явления, очевидно, лежит в том, что тулсет запрашивает список констант эффектов из ресурсов игры, игнорируя оверрайд и хаки.
Подумав, я наметил три общих решения ситуации.
1)Выполнить условия компилятора.
Как вариант, для этого надо занести обновленный visualeffects.2da напрямую в .bif архив игры. Минус этого способа очевиден.
2)Заставить компилятор отказаться от его условий.
Здесь предусматривается обход компиляторской проверки. Как вариант, вмешательство в файл тулсета и написание соответствующего патча, минус этого способа в том, что реализовать его знаний у меня явно не хватает.
3)Запросить визуальный эффект другим способом.
Константы визуальных эффектов - это ID целочисленного типа, за которым закрепленно определенное слово. То есть, вместо константы можно напрямую запросить эффект по его номеру. Теоретически. На практике это сделать не удается, хотя запросив константу через IntToString() мы получаем то же число, соответствующее 2da.

Какие будут предложения?
greye
Вариант третий почти правильный: если всё сделано верно в 2да, то достаточно объявить переменную (или константу) с идентификатором эффекта в том же скрипте и использовать её (int VFX_MY_NEW = <2da_row_id>;). Думаю, более подробную информацию ты найдёшь в Custom Content разделе.
Talarasha
А и правда, работает. Спасибо, greye. Респект и уважуха rolleyes.gif

Другое дело, что я сейчас задумался попробовал сделать это как хотел, напрямую:
Neverwinter Script
effect eExplode = EffectVisualEffect(751);

И оно заработало. Остается вопросом, в каком состоянии я вчера был, что пытался сделать то же самое и пришел к обратным результатам... но все равно - спасибо!
Bersi
Добрый день. Мне нужно скриптом очистить все вещи в контейнере (сундук, ящик и т.д.) при его открытии игроком и положить туда то что мне нужно, и так чтобы некоторые вещи появились с долей вероятности. Подскажите как сделать такую скриптовую заготовку, пожалуйста. Я потом хочу использовать ее по всему модулю.

В оригинальной компании это регулируется скриптами-гигантами, наподобие "nw_o2_coninclude". Но меня добивает его размер (более 4500 строк), ничего не могу в нем понять, кроме некоторых деталей. Нельзя ли как-то покороче решить эту проблему.
Aiwan
В модуле Монета Судьбы у меня есть такие скрипты, но НВН давно не стоит. Есть желание, скачай и глянь. Такие ящики стоят в локациях случайных встреч и по моему в закрытой локе для теста.
Bersi
Благодарю! Гляну...
Raman
Доброго времени суток! Возникло несколько проблем с henchman'ами. Всего хенчей 3 и параметр этот в модульных свойствах задан. В диалогах использовал скрипты хенчей из HotU.
1) После смерти трупы хенчей моментально исчезают и воскресить их невозможно. По умолчанию в свойствах задано время разложения трупов 5 секунд. Пробовал задать 60, но тогда они остаются в виде некликабельных трупов. Ни в одном другом моем модуле такого безобразия не случалось. Проблема возникла внезапно, до этого хенчей можно было воскресить, но тогда возникали 2 следующие проблемы:
2) После воскрешения только один хенч со мной разговаривал. Остальные отказывались запускать свои диалоги.
3) Если умирал один хенч из трех, то после выполнения им команды rejoin из группы выкидывало одного из остававшихся хенчей.
Не подскажите, в чем может быть причина всего вышеописанного?
Raman
Было предположение, что по ошибке включается стандартный скрипт из x2_hen_death, уничтожающий тело хенча-предателя, чтобы его нельзя было поднять. Сделал новый вариант hen_death без этого скрипта, но тела хенчей продолжают исчезать после смерти. sad.gif
gennady
Ну посмотри вот здесь: хенчи
или ищи в скриптах для новичков на этом форуме...
Raman
Спасибо! smile.gif
Deimos
Здраствуйте.
Подскажите пожалуйста, как редактировать существующие заклинания оригинальной компании (либо порекомендуйте туториал где подробно освещен данный вопрос)

Например - поменять школу заклинания, хит-дайс, спасброски, ограничение по уровню.

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