Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопросы новичков
Город Мастеров > РЕДАКТОРЫ > 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, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103
Lex
Цитата(Aiwan @ Jun 14 2007, 17:34) [snapback]109385[/snapback]
Найди в инвентаре бутыль и скажи НПС что бы он выполнил действо заюзал предмет. Мож получится.

Цитата(NeoJSmith @ Jun 14 2007, 12:44) [snapback]109364[/snapback]
ммм... а тег бутылки узнать заранее слабо?

позорище, товарищи скриптеры. biggrin.gif biggrin.gif

Вирь, а ведь хенчи и НПС жрут поушены согласно своему АИ. Те как-то оно делается скриптами.

virusman
QUOTE(Lex @ Jun 14 2007, 19:12) [snapback]109390[/snapback]
Вирь, а ведь хенчи и НПС жрут поушены согласно своему АИ. Те как-то оно делается скриптами.
В AI очень много чего зашито в движок в виде talent'ов (в данном случае - TALENT_CATEGORY_BENEFICIAL_HEALING_POTION, при этом задать, какую конкретно бутылку он выпьет, невозможно).
Aiwan
Хеньчи жрут зелья и кастуют спеллы из свитков тока отбегай от них. Если через скрипты низя тоды не трахайте мозг, узнайте что за скрипт запускается при бутылке и запускайте его на НПС и все. Анимашка + скрипт. Вообще мы задачи не видим. Я надеюсь это не в бар что бы НПС в натуре стоял и пил вино ужравшись в ж**у падал замертво...

Цитата(Lex @ Jun 14 2007, 21:12) [snapback]109390[/snapback]
позорище, товарищи скриптеры.

НВН движок имеет в совем описании больше он НЕ МОЖЕТ или НЕПРАВИЛЬНО ДЕЛАЕТ, чем что он МОЖЕТ или ПРАВИЛЬНО делает. Тебе ли не знать smile.gif
virusman
QUOTE(Teranozavr_REX @ Jun 14 2007, 16:17) [snapback]109382[/snapback]
про наложитьанимациюуже думал но это через одно место ибо на каждую банку прийдеться прописывать ее эфект руками
Хотя если ничего не придуматьбольше (( прийдеться так и делать
Можно пробежаться по Item Properties и выцепить ID спелла, потом наложить анимацию, скастовать спелл с параметром InstantSpell и удалить банку или уменьшить их количество.

З.Ы. А для чего это нужно?
Lex
Цитата(virusman @ Jun 14 2007, 22:45) [snapback]109403[/snapback]
Можно пробежаться по Item Properties и выцепить ID спелла, потом наложить анимацию, скастовать спелл с параметром InstantSpell и удалить банку или уменьшить их количество.

да, пожалуй самый нормальный вариант. Хотя думается овчинка не стоит выделки smile.gif
Worldowner
"Henchman HotU, Шаблон диалога + скрипты и примеры"
Там только повышение уровня при левелапе. А мне нужно знать как это сделать при приёме хенча на работу. Возможно, для тебя это само собой разумеется, но я никак не вьезжаю, как это сделать.

Цитата(Aiwan @ Jun 13 2007, 20:26) [snapback]109340[/snapback]
Зайди в раздел скриптов для новичков и раздел Хеньчманов здесь. Я СПЕЦИАЛЬНО РАЗБИРАЛ ЭТОТ ВОПРОС.
Lex
функция LevelUpHenchman()
глянь ее описание, там просто все.
Aiwan
Цитата(Worldowner @ Jun 15 2007, 01:30) [snapback]109409[/snapback]
А мне нужно знать как это сделать при приёме хенча на работу.

Да мне очень интересно знать. Я совсем не врублюсь на какю нахрен работу хеньчмана берут? nea.gif
Lex
Цитата(Aiwan @ Jun 15 2007, 10:45) [snapback]109426[/snapback]
Да мне очень интересно знать. Я совсем не врублюсь на какю нахрен работу хеньчмана берут?

Айв, хорошь стебаться. Речь об автолевелапе Хенча до уровня игрока при добавление в партию.
Axel><))))@>
С поищью какой проги 2дашники и остальные вещи видираются из биф архива (Total COmander Не подходит)?
virusman
NWN Explorer
Пакет 2da для своей версии лучше скачать с сайта Bioware.
Teranozavr_REX
Питие банок и юзанье свитков нужно для АИ
просто занимаюсь таким не благодарным делом как полное переделывание АИ
добился в этом направлении уже больших результатов
Свитки и банки были бы оследним штрихом

делать анимация + наложение эфекта не удобно с точки зрения дальнейшегоиспользования
так как ресуя мапу закинул мобу бутелей и не паришся АИ сам все заюзает
а так (((

ну что же прийдеться попробовать таклант сей вызнать илли вообще забитьна это дело((
virusman
QUOTE(Teranozavr_REX @ Jun 15 2007, 12:41) [snapback]109431[/snapback]
делать анимация + наложение эфекта не удобно с точки зрения дальнейшегоиспользования
так как ресуя мапу закинул мобу бутелей и не паришся АИ сам все заюзает
а так (((
А так - будет то же самое. При описанном алгоритме вручную ничего задавать не надо.
Aiwan
Цитата(Lex @ Jun 15 2007, 13:10) [snapback]109428[/snapback]
Айв, хорошь стебаться. Речь об автолевелапе Хенча до уровня игрока при добавление в партию.

Та а я о чем, о анальном сексе с хеньчманом что ли? Если тут есть намеки на анал то растолкуйте мне:
Цитата(Aiwan @ Oct 3 2005, 19:44) [snapback]52842[/snapback]
В слоте OnPlayerLevelUp модуля, в скрипте добавьте такую инклюду и строку:

Neverwinter Script Source
#include "x0_i0_henchman"
//-------------------------------------------------------
            LevelUpXP1Henchman(oPC); // Поднимаем уровень помощнику
//-------------------------------------------------------


Теперь при поднятии уровня РС и помощник будет поднимать себе уровень.


Специально писалось для таких людей, кто не знает что и как. Там в диалоге специально ВСЕ НАСТРОЕНО И ПОДГОН УРОВНЯ ХЕНЬЧМАНА ТОЖЕ, надо только открыть и почитать. Все левелапиться при поступлении гастробайтера на работу в плантации.
Epsilon
Полагаю никого не удивит то, что я всё ещё не смог заставить работать стандартный скрипт онспавна.
Ну не знаю, он просто не работает, видать я чего-то недопонял.
Пожалста, разьясните что нужно делать с НПСом после закрепления онспавна с нужными настройками
Aiwan
Что именно вы хотите от НПС и какой скрипт вставляете?
Epsilon
1. я не думаю, что адменистратору сайта стоит обращаться к кондидиту на Вы
2. я ни как не могу разобраться со скриптом на онспавне, с помощью которого можно поставить эмбиент анимацию

Разъясняю подробнее, чтоб потом было меньше вопросов:
Я делаю модуль с локациями для заявки и не могу сдвинуться с мёртвой точки из-за скрипта, заставляющего НПСа рандомно бродить по городу.
Я раскомментирую нужные мне строки в скрипте, ставлю этот скрипт на онспавн НПСа, размещаю его на локе, сохраняю, гружу модуль в игре, а он стоит на месте(НПС)
Aiwan
Epsilon, я очень много общаюсь в интернете не только по поводу НВН. И уже проскальзывает официальный сленг smile.gif
Так вот. В теме скриптов для новичков, я выкладывал скрипт который надо ставить на НПС в слот спавна.
Вот ТУТ.
Настраивается так. Например тебе надо что бы НПС бродил по округе. Ищешь строку с этим видим код:
Neverwinter Script Source
//--------------------------------------------------------------------------
    // Почти то же что и выше, за исключением того, что НПС бродит по округе.
    //--------------------------------------------------------------------------
    if (GetLocalInt(OBJECT_SELF, "FLAG_AMBIENT_ANIMATIONS") == TRUE)
      {SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);}

Дальше в свойствах НПС ищешь закладку присвоения локалки ставишь на него локалку "FLAG_AMBIENT_ANIMATIONS" в значение TRUE. Все.
Lex
Айв, ему простое раскомментирование
Neverwinter Script Source
SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);

в спавн-скрипте не помогло smile.gif (или он не то раскоментил). Думаешь это лучше пойдет? biggrin.gif
virusman
К слову, я сегодня сделал в NWNX функции:
Neverwinter Script Source
void ActionUseItemOnObject(object oItem, object oTarget, int nPropertyNum = 0);
void ActionUseItemAtLocation(object oItem, location lLocation, int nPropertyNum = 0);
Teranozavr_REX
ActionUseItemOnObject


я тоже хочю такую функцию))) как бы ее получить а ?? )
Lex
если у тебя шард то без проблем. НВНХ + тряси виря на исходники. В остальных случаях забудь и делай этим методом:
Цитата(virusman @ Jun 14 2007, 22:45) [snapback]109403[/snapback]
робежаться по Item Properties и выцепить ID спелла, потом наложить анимацию, скастовать спелл с параметром InstantSpell и удалить банку или уменьшить их количество.

благо по сравнению с написанием АИ это ваще детский сад.
Epsilon
Даже простой раскомментированный скрипт не работает, НПС стоит как вкопанный

Может в версии 1.23 нет поддержки эмбиента, хотя это наверное звучит глупоsmile.gif
Dik Morris
2 Epsilon, отлично. Вот тебе модуль (версия максимальная), в нем - все прекрасно работает, как видишь (видимо ты не удосужился подождать, NPC не мгновенно начинает).

Дожили smile.gif.
Epsilon
ааа...что же вы мне раньше не сказали, а я то думал.
Всё работает.
Worldowner
Следующий вопрос по списку СТВ (Самых Тупых Вопросов):
Каким образом задаётся точка респавна в модуле? Я как-то до сих пор не обращал внимания, а теперь вот умер и воскрес на том же месте. Таким образом до меня дошло, что точку респавна надо специально задавать.
Dik Morris
Ну, эти параметры, должны указываться в скрипте, эвента OnPlayerRespawn (модульный). Используя функцию ActionJumpToObject, а так же ряд других, это довольно легко сделать. Посмотри форумные скрипты, выдери нужные кусочки, их и добавь в скрипт стоящий по умолчанию.
AndrewKubatov
Я абсолютный новичок в создании модулей. Пожалуйста ! Обьясните мне : как пользоваться скриптами ? shout.gif
Lex
пользоваться очень просто: поставить нужный скрипт в нужный слот и радоваться жизни.
AndrewKubatov
В том то и проблема. Я хочу сделать так , чтобы когда начинать кампанию у тебя был 15-й level , а как незнаю... scratch_one-s_head.gif
Lex
Это уже не пользование, а написание скриптов. Тема более сложная.
Глянь "Базу Скриптов", там есть несколько скриптов на вход.
Dik Morris
Точнее "Скрипты для новичков". Еще точнее: вот она, нужная тема. Смотри самый первый пост (скрипт).

Cтрока: SetXP - и отвечает за количество полученного опыта, при первом входе в модуль. Установи нужное значение, если не знаешь сколько нужно опыта на 15тый, - смотри в мануале, в папке docs, там это указано.

PS: в том скрипте, так же есть ряд некоторых других функций, скажем удаления одежды с персонажа и т.д. Просто сотри или закомментируй (два слеша, перед строкой - //), не нужные строчки, там все понятно должно быть, ибо есть комментарии.
AndrewKubatov
Попробую. Потом сообщу , если что-то не получится. rolleyes.gif
shadowdweller
А можно немного усложнить задачу? Допустим, игрок входит в мод персом не 1 уровня, а, скажем, 3-го или 17-го. Как сделать так, чтобы в первом случае уровень поднимался бы до 15-го, а во втором случае - ничего бы не происходило?
Daniel
Вроде SetXP устанавливает нужное кол-во опыта, будь его меньше или больше, могу ошибаться rolleyes.gif
Lex
Цитата(Daniel @ Jun 20 2007, 00:26) [snapback]109638[/snapback]
Вроде SetXP устанавливает нужное кол-во опыта, будь его меньше или больше

да. Будет опыта у игрока больше, чем SetXP ставит - опыт срежется, будет меньше - добавится. А если надо чтобы игнорилось, если экспы больше, то там добавится маленький простенький условный оператор.
shadowdweller
Lex, простенький - для тебя. Но не для меня, я дальше анимации обычной и спавна никуда не ушла пока...
С SetXp все понятно. Непонятно, как делать проверку на уровень перса. По идее, скрипт должен начинаться с проверки на уровень - меньше или больше 15-го, потом уже либо даем экспу, либо оставляем все как есть. Чисто теоретически я это знаю, но вот написать сама не могу... unknw.gif
Lex
Neverwinter Script Source
if (GetXP(oPC)<XXXXXXX) SetXP(oPC,XXXXXXX)

где XXXXXX - опыт, соотв. 15 левелу.
shadowdweller
Все, врубилась, пасиб. thank_you.gif Дальше сама сделаю, там, вроде, несложно. А ставится в свойства мода?
Daniel
Вообщем пытаюсь научиться писать скрипты, пока что ничего не выходит...
Нужен скрипт чтобы НПС говорил рандомные фразы
Вот тот бред который у меня получился:

Neverwinter Script Source
void main()
{

object oL=GetObjectByTag("L");

int sTalk;
switch (d4())
{
case 1: sTalks=ActionSpeakString("1"); break;
case 2: sTalks=ActionSpeakString("2"); break;
case 3: sTalks=ActionSpeakString("3"); break;
case 4: sTalks=ActionSpeakString("4"); break;
}
AssignCommand(oL, ActionSpeakString(sTalk));
}


Lex
эээ.. почти правильно у тебя. А вот совсем правильный вариант. Найди 10 отличий.
Neverwinter Script Source
void main()
{
object oL=GetObjectByTag("L");
string sTalks;
switch (d4())
{
case 1: sTalks="1"; break;
case 2: sTalks="2"; break;
case 3: sTalks="3"; break;
case 4: sTalks="4"; break;
}
AssignCommand(oL, ActionSpeakString(sTalks));
}


если скрипт будет стоять на самом НПС (на ХБ или ЮД), то там проще будет:
Neverwinter Script Source
void main()
{
string sTalks;
switch (d4())
{
case 1: sTalks="1"; break;
case 2: sTalks="2"; break;
case 3: sTalks="3"; break;
case 4: sTalks="4"; break;
}
ActionSpeakString(sTalks);
}


а твой вариант похож на скрипт, который стоит на каком-нить нивидимом объекте и управляет неписями. Но тады лучше такой объект грузить по полной - те не 1 НПС, а группой. Скрипт по реализации рандомного разговора между НПС с анимацией и прочими делами есть в Базе Скриптов.
Dik Morris
2 Lex, только не sTalk, a sTalks (4 и 12тая строки).
Кстати, а не лучше ли будет просто SpeakString? Мало-ли что еще, вдруг NPC занят smile.gif. Если ситуация с ХБ, я бы именно так сделал.
Lex
Цитата(Dik Morris @ Jun 20 2007, 12:49) [snapback]109665[/snapback]
2 Lex, только не sTalk, a sTalks (4 и 12тая строки).

спс, поправил.
Цитата(Dik Morris @ Jun 20 2007, 12:49) [snapback]109665[/snapback]
Кстати, а не лучше ли будет просто SpeakString?

лучше. Но это уже второй этап smile.gif
Epsilon
Как говаривал терминатор dirol.gif: "Я вернулся"

Вот починил модем, вновь попал в интернет. А вопросов то!
Но пока задам только один: хочу своеобразную лотерейку сделать, с рандомным выбором я обращаться умею, но вот не умеб его менять скриптом. Типа сделал то что нужно и вот тебе удача
Dik Morris
2 Epsilon, честно говоря, не совсем понял вопрос. Точнее его суть.
Но пример все-таки приведу:

Neverwinter Script Source
void main()
{
object oPC; // Обязательно инициализируй. Под данный случай;
int nRandom = Random(5); // Собственно сама "лотерея";

if (nRandom == 1)// проверка, если "Бинго":
  {
  // Нужные действия;
  // <...>.
  }
  else
  AssignCommand(oPC, SpeakString("Не повезло!.."));
}


Скрипт конечно не под конкретную ситуацию, но общий смысл такой; доработать его не составит проблем, главное что бы сам процесс был понятен. Посмотри описание функций из кода, добавь дополнительные "выигрыши" используя проверку: || (или) и т.д...
Daniel
Lex, благадарю за помощь thank_you.gif
Epsilon
Перефразирую вопрос: как изменить существующую случайность
Dik Morris
Специально еще посоветовал, посмотреть описание функций которые я привел. Вот например Random(х) - как раз и отвечает за "случайность".

Таким образом, если поставить в выше приведенном скрипте, вместо 5, скажем 40 - шанс значительно уменьшится, я бы сказал опустится до минимума smile.gif.
Teranozavr_REX
Доброе время суток
кто тознает как сделатьтак что бы сон пробегал за 2 сек ??
Dik Morris
2 Teranozavr_REX, ну можно это реализовать, используя солянку функций:

Цитата
FadeToBlack;
FadeFromBlack;
ForceRest.


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

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