Помощь - Поиск - Пользователи - Календарь
Полная версия: ОДИНОЧНЫЙ ВОПРОС
Город Мастеров > РЕДАКТОРЫ > 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
Ilerien
Там хитрее, если это существо, то анимация каста проигрывается, если нет - то мгновенный эффект.
Neakris
Ilerien, спасибо. Мысль хорошая насчет своего спелла, но не хочется грузить пользователья модифицированными файлами игры, это раз. Во-вторых, единственное, с чем я еще не разобрался - просто не стал пока что разбираться - это с редактированием 2da файлов. В принципе, я, думаю, уделю этому времечко попозже (помнится, на Игромании был неплохой (или нехороший) самоучитель по редактированию 2da). Тем не менее, меня интересовало как сам эффест полета через скрипт прописать. Ну да ладно, в принципе, это нужно было для идеала. Без идеала обойдусь, пойду окольными путями))
P.S. не сразу заметил твой последний пост. Насчет существа... у меня существо) Если быть точным, то "нуль-человек" =) Воть такъ...

Lex, к сожалению, ты ошибаешься. Эффект не мгновенный. То есть, сначала видно "облачко формирующегося заклинания" в руках заклинателя, и только потом оформленная конструкция летит к цели. Ну да не суть... вобщем, КастСпелаПонарошку здесь не совсем в теме. Для меня важно, чтобы эффект был наложен мгновенно.

Теперь... еще один вопрос, уважаемые скриптеры и не только.
Есть ли возможность заблочить инвентарь игроку? То есть ЛИБО сделать так, чтобы он не мог открыть инвентарь в принципе и не мог воспользоваться предметами оттуда, ЛИБО сделать так, чтобы с предметами нельзя было что-либо сделать. Так бывает, когда ты Shapeshifter'ом принимаешь форму кого-нибудь с чем-нибудь в руках (скажем, минотавра с уникальным топором минотавра), и ты не можешь ни разоружить себя (как минотавра)), ни перетащить что-нибудь... вобще ничем из инвентаря воспользоваться не можешь, кроме банок. Просто когда подводишь мышь к какому-либо предмету, он помечается как "красный".
Короче =) С моими вечно запутанными объяснениями =) Резюме: как заблочить инвентарь игроку?))

P.S. и как сменить морду лица после того, как воспользовался функцией SetAppearance (или как-то так)?

Ну... всем заранее спасибо)
Ilerien
Цитата
как заблочить инвентарь игроку?))
Теоретически есть возможность. Повесить соответствующий скрипт на onEquipItem, в спеллхук, на активацию шмотки и т. д. Гемора там прилично будет. И багов тоже smile.gif
Цитата
и как сменить морду лица после того, как воспользовался функцией SetAppearance (или как-то так)?
Функциями SetPortraitResRef/Id.
Цитата
Мысль хорошая насчет своего спелла, но не хочется грузить пользователья модифицированными файлами игры, это раз.
Да ладно, запихай это дело в хак и приложи к модулю.
Neakris
Хмм... я тут подумал... понравилось... короче smile.gif
просто я решил, что, раз я все равно заблочу инвентарь, то игрок не сможет пользоваться шмотками, верно? Ну а раз он не сможет ими пользоваться, то ему они, собственно, незачем. Ну а раз так, то я просто через цикл While все шмотки игрока помещу куда-нибуть далеко. Например, в сундук. Хорошо спрятанный))) Конечно, так пропадает часть атмосферности, но ведь результат достигнут, верно?) Завтра буду реализовывать... Да, зачем я это тут пишу? Ну, чтобы тот, кто прочел мой вопрос и кому это будет интересно, нашел-таки на него ответ))

Еще вопрос, правда, тоже из разряда "можно сделать через... кхм... но все-таки хочется красиво": можно ли изменять занчение характеристик персоонажа, но не через эффект? Просто функции SetAbility я, естественно, не обнаружил, хотя есть обратная ей функция GetAbility. Вот... а функцией EffectAbilityIncrease/Decrease пользоваться не хочется из-за того, что ее эффект наблюдается игроком в виде значков около портрета и в окне статуса персоонажа.
Ilerien
Цитата
можно ли изменять занчение характеристик персоонажа, но не через эффект?
Нельзя sad.gif Можно на шкурку повесить, но это всё равно не то...
Lex
Цитата(Ilerien @ Oct 20 2008, 11:09) *
Там хитрее, если это существо, то анимация каста проигрывается, если нет - то мгновенный эффект.

угу, точно. Я обычно фэйк всегда от плэйса делал (ловушки, катапульты и прочие радости), поэтому забыл что бывает когда это на чара вешаешь smile.gif

Цитата(Neakris @ Oct 21 2008, 00:30) *
просто я решил, что, раз я все равно заблочу инвентарь, то игрок не сможет пользоваться шмотками, верно? Ну а раз он не сможет ими пользоваться, то ему они, собственно, незачем. Ну а раз так, то я просто через цикл While все шмотки игрока помещу куда-нибуть далеко. Например, в сундук.

тут пара подводных камушков:
- сумки с вещами
- о***ый бардак после возврата вещей игроку
Ilerien
Цитата
- сумки с вещами
Такое было в ХотУ, на старте отбирались вещи. Когда я до них добрался, не поместились в инвентарь, потому что убились все сумки smile.gif Цикл по инвентарю пробегает вещи и в контейнерах тоже, но сами контейнеры надо убивать во избежание.
Neakris
Ilerien, Lex, спасибо огромное за ответы. Все информация для меня важна)
Хмм... еще вопрос?))
Можно ли сделать так, чтобы у игрока при определенном событии (не важно, каком), восстанавливались все заклинания, но и только.
Функция ForceRest, конечно, восстанавливает их, но... черт подери) Она попутно восстанавливает и все хиты и убирает все негативные эффекты. А их мне надо оставить) Мысли есть, как такое сделать?
P.S. Сейчас сижу пишу скрипт, который не очень красиво, но это реализует через ForceRest - т.е. я запомню в переменную кол-во хитов и негативные эффекты, потом заставлю игрка отдохнуть, потом снова применю эффекты и изменю кол-во хитов. Некрасиво, согласен. Потому и спрашиваю))
P.P.S. очепятки и грамматику подправил...
Lex
Цитата(Neakris @ Oct 23 2008, 09:11) *
Можно ли сделать так, чтобы у игрока при определенном событии (не важно, каком), восстанавливались все заклинания, но и только.

нет, через ФорсРест только, как ты и описал.
Ilerien
Да там как бы и негативные эффекты не очень сохранишь... Длительность-то потеряется в любом случае.
Neakris
Хмм.. товарищи... а есть НЕСЛОЖНЫЙ способ запретить лечить существо?

Подробнее: есть дружественный к игроку монстр. Надо сделать так, чтобы игрок никак не мог его вылечить - ни с помощью заклинания лечения, ни с помощью заклинания неготивной энергии.
Несложный способ значит, что не через отслеживание через скрипт всех накладываемых на монстра спеллов и последующей нейтрализации их положительного эффекта. =)
virus_found
мм, вот уж не помню, а иммунитет к 9му кругу магии не подойдёт? (сие значит, иммун ко всем кругам, включая 9ый)
Lex
Цитата(Neakris @ Oct 24 2008, 00:54) *
Подробнее: есть дружественный к игроку монстр. Надо сделать так, чтобы игрок никак не мог его вылечить - ни с помощью заклинания лечения, ни с помощью заклинания неготивной энергии.
Несложный способ значит, что не через отслеживание через скрипт всех накладываемых на монстра спеллов и последующей нейтрализации их положительного эффекта. =)

ну есть такой способ, да. На шкурку монстра наложи имуны на все нужные тебе заклы лечения. По крайней мере я делал невозможность лечения голема заклами именно так. Никто не жаловался.
Ilerien
А ещё аптечки есть...
Neakris
Lex, благодарю. Самое лучшее решение всегда самое простое)
Ilerien, не, мне это не грозит. Мне оригинальные NWN-аптечки не нравились и я сделал свои, с возможностью использования "Только на себя". smile.gif

Добавлено позже:
Эмм... кхмм... товарищи. Скажите, пожалуйста, функция GetHitdice возвращает Кость хитов персонажа или уровень? Это важно. Потому что если последне - то я дурак))
Ilerien
Полный уровень.
Neakris
Цитата
ну есть такой способ, да. На шкурку монстра наложи имуны на все нужные тебе заклы лечения. По крайней мере я делал невозможность лечения голема заклами именно так. Никто не жаловался.

А у меня не работает =) ХЗ почему, но не работает))
Цитата
Потому что если последне - то я дурак))

Нуу... я дурак =) А я раньше считал уровень игрока по простенькому коду в двадцасть строчек, где уровеь был равен сумме уровней во всех класах))) (ну, GetLevelByClass(CLASS_***) + -||- и т.д.)

Теперь еще вопрос, товарищи.
Можно ли создать через скрипт триггер с палитры? И,соответственно, задать ему форму (как вариант, триггер будет окружность и тогда просто радиус). Т.е. имеется функция CreateObject, а мне надо создать триггер. Не ловушку, а конкретный мой триггер, на котором мои скрипты висят. Вот... Есть мысли, как его создать?
drago
Разве что добавить в палитру кастомный триггер с повешанными на него всеми скриптами, а потом и создать, OBJECT_TYPE_TRIGGER то существует.
greye
Нельзя так вроде, по-крайней мере у меня не получалось. Если создавать новый, то на нем не висят скрипты, а если копировать другой...(к слову, он не копируется)

Даже не так, мы просто не можем создать объект типа "триггер", функция не позволяет. Собственно, как и копировать.
Ilerien
Если мы знаем, где триггер будет, то можно просто локалку на готовый триггер вешать, чтоб скрипты работали только при наличии этой локалки.
Для ловушек есть CreateTrapAtLocation(). Мб есть смысл оформить триггер как ловушку?
Lex
создать не получится.. есть правда хитрый финт ушами "не для всех".
Создать свой AoE (2да. там тип AoE - круг или полигон, а так же размеры), на который прописать скрипты (вход, выход, ХБ. Скрипты можно задавать в таблице, можно при наложении эффекта. Второй вариант круче своей гибкостью.). Создаваться этот "триггер" будет просто: создание нивидимки и наложение на него нашего кастомного эффекта.

зы: вроде бы можно прямо в скрипте задавать параметры (радиус / тип) для эффекта, но я точно этот момент уже не помню.

зыы: AoE - Area of Effect (те эффект на какую-то площадь. Не путайте тутошнюю Area c нашей привычной локацией.)
Ilerien
Да невидимку создавать не нужно, просто на точку эффект повесить.
vfx_persistent.2da, там можно задать форму (круг или прямоугольник) и размеры.
Dirzi
Всем доброго времени суток!
Прошу простить, если такой вопрос уже был (вроде все просмотрела, но...).
Подскажут ли Мастера, что нужно сделать (И где. И чем - какой утилитой), чтобы в выборе familiar'a добавить паука?
Заранее благодарна.

P.S. Установлено все до Hordes of Underdark.
Melisse
вообщем тебе нужен файл hen_familiar.2da

в нем вот примерно в таком виде написан фамильяр:
Neverwinter Script
NAME           BASERESREF    STRREF   DESCRIPTION

1    Panther        NW_FM_CRAG    5995        5996


NW_FM_CRAG - это береться тип существа по ресрефу
если поискать в контенте НВН то можно найти это существо с такими ресрефами
NW_FM_CRAG01
NW_FM_CRAG02
NW_FM_CRAG03
....
NW_FM_CRAG40

иначе говоря тебе в модуле нужно создать отдельно существо на каждый из уровней
т.е например у твоего паука будет, например, ресреф NW_FM_SPDR
значит существо, которое маг вызовит на 1 лвле будет с ресрефом NW_FM_SPDR01, на втором NW_FM_SPDR02 и тд. до 40 лвла
А в hen_familiar.2da ты пишешь просто NW_FM_SPDR, т.е. вот так например:

Neverwinter Script
15  Spaider  NW_FM_SPDR  <ссылка в тлк>  <ссылка в тлк>



STRREF - это название, номер строки из ТЛК
DESCRIPTION - это описание, номер строки из ТЛК


П.С,
лучше править конечно через программы работающие с 2да, чем через блокнот. И тебе понадобиться программа работающая с НВН тлк
Dirzi
Melisse, спасибо огромное!
"иначе говоря тебе в модуле нужно создать отдельно существо на каждый из уровней" - то есть в официаотных модулях с пауком не погулять...жаль...
greye
Да нет, можно, если переписать немного...
ps А чем лучше не в блокноте? Мне просто интересно.
Dirzi
Цитата(greye @ Nov 6 2008, 20:33) *
Да нет, можно, если переписать немного...

т.е отредактировать официальный модуль? Я как-то пробовала, но работать (загружаться в игре) потом он не пожелал. Или после редактирования его в Авроре что-то с ним еще нужно сделать?
greye
Да нет, вроде все работает, только что проверил. Разве что надо убрать *.nwm файл из папки nwm, чтобы загружался твой измененный файл, а не оригинальный.
Лучше не удалять, а вырезать куда-нибудь, но да, в целом ты права, а свой можно оставить в папке module.
Dirzi
Цитата(greye @ Nov 6 2008, 20:50) *
Да нет, вроде все работает, только что проверил. Разве что надо убрать *.nwm файл из папки nwm, чтобы загружался твой измененный файл, а не оригинальный.

Спасибо, попробую!
*.nwm файл из папки nwm удалить, а мой (тот же, но измененный) оставить в папке module?
Melisse
Цитата
ps А чем лучше не в блокноте? Мне просто интересно.


Ну в блокноте тоже можно, но редакторы как-то стройнят информацию в файле и потом в блокноте часто можно перейти рамки столбца, а в редакторах все столбцы разделены.
virusman
Я обычно редактирую в EditPlus (почти блокнот, только получше), а потом просто выпрямляю столбцы, открывая и сохраняя в CODI Custom Content Helper.
greye
Можно ли в тулсет импортить выдранные модели(знаю, что можно) и анимации к ним?(К примеру, из warcraft III...).
greye
Чисто теоретически можно ли для игрока сделать несколько фамилиаров?
Даже не так: прокатит ли, если я создам несколько подобных фитов?
Lex
могу одно сказать - попробуй. Насколько я знаю, никто так не пробовал делать.
Ilerien
Нет, нельзя, функция SummonFamiliar() движковая. Их можно сделать через кастомных хенчей.
greye
Цитата(Ilerien @ Dec 1 2008, 18:12) *
Нет, нельзя, функция SummonFamiliar() движковая. Их можно сделать через кастомных хенчей.


Да, я уже понял, спасибо. В общем, мне не сами фамилиары нужны, мне нужна была способность Possess Familiar(кстати, странное дело, я не могу найти ее нигде в 2da, в dialog.tlk это 523 строка, а в таблицах что-то нет ни одной пересылки на нее...). Просто подумал, что если хенчей оформить как фамилиаров, то можно ими управлять.
Ilerien
Строка 303 в feat.2da.
Управлять можно, если заюзать соответствующие скрипты smile.gif
greye
Не, у меня там стоит базовый на призыв
CODE
303 Familiar 1567 6093 ife_familiar **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 318 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_SUMMON_FAMILIAR 6 **** **** **** **** **** 0 1

Ilerien
А, туплю smile.gif
Нет, эта абилка в 2да не прописана.
Lex
Цитата(greye @ Dec 1 2008, 20:06) *
Possess Familiar

не получится ничего. Я знаю о нескольких попытках раскопать эту штуку (хотел народ партию управляемую игроком). Похоже ее обычными методами не вытащишь.
virusman
В NWNX скоро будет функция PossessCreature, но это, увы, не для синглов.
Ogneslav
Народ!
Тут у нас возникла заминка с проэктом, просьба помочь очень маленьким умственным трудом: придумать по парочке фитов для оборотня. КТо откликнется буду очень благодарен.
Melisse
Ну может из буков подойдут фиты...например:

Фит животный аспект
1/2 бонус Сила, ловкость, телосложение своей животной формы


Фит свойства формы в гибридном состоянии
Сила, ловкость, телосложение своей животной формы


Фит мерзкая атака
Атака когтями в животной форме, мерзкий урон


Фит улучшенная форма I....и тд
Улучшает животную форму
+2 к показателям

Фит уменьшение урона 1\серебро...и тд


Каст в животной форме (если не через поллиморф)
Latiss
Вообщем, извиняюсь за беспокойство, но никто случайно не знает скрипта, чтобы НПС кастовал заклинание (точнее анимацию заклинания) на вейпоинт или на плэйс? Каждые 10 секунд
Заранее спасибо.
Ogneslav
Большое спасибо Melisse, а то мы уже и до такого простого додуматься не можем))) голова забита wacko.gif

но к сожалению этого мало(( нужно еще хотяб 3 раза по столько)))

Если еще ктото может помочь... будем благодарны.
Topik
киньте ссылку где скачать аддон для невера Орды Андердарка. А то когда начал заниматся модулями на прилавках Орды исчезли
Ilerien
Цитата
Вообщем, извиняюсь за беспокойство, но никто случайно не знает скрипта, чтобы НПС кастовал заклинание (точнее анимацию заклинания) на вейпоинт или на плэйс? Каждые 10 секунд
Neverwinter Script
void UseSpellAnimation(int nSpell, object oTarget)
{
    ActionCastFakeSpellAtObject(nSpell, oTarget);
    DelayCommand(10.0f, UseSpellAnimation(nSpell, oTarget));
}
Функцию вызывать из onSpawn непися smile.gif Ну или откуда-нибудь ещё по вкусу.
Latiss
Спасибо
Aiwan
Topik, у нас непринято выкладывать варезные ссылки.
Topik
а если я подругому поставлю просьбу? например: где можно взять клиент шарда "Какое нить название"? rolleyes.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2025 Invision Power Services, Inc.