Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопросы новичков
Город Мастеров > РЕДАКТОРЫ > 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
Tarre Talliorne
Тогда так: берем тайловую кровать из хака, кидаем поверх инвизибл плэйсибл "кровать". И спим :-)
ЗЫ: можно поподробней про хак?
ПРИЗРАК
Насчёт кровати... он чё строго на пол ложится? А высоту на которую нужно лечь никак настроить незя?
DBColl
QUOTE
Насчёт кровати... он чё строго на пол ложится? А высоту на которую нужно лечь никак настроить незя?

А ты зайди на кровать сначала попробуй wink3.gif. Анимация строится относительно той точки, где стоит непись/игрок. Лечь на кровать плэйсэбловую нельзя. На тайловую можно, но нужен хак.
Tarre Talliorne
А что за хак, если можно по-подробнее...
DBColl
Tarre
Хак в котором вокмеш в этом тайле с кроватью чуток подправлен wink3.gif. Ты и сам я думаю сможешь сделать, даже если не найдешь.
ПРИЗРАК
Вот, ещё один вопрос появился...

В СЕРе есть пушки, катапульты и баллисты которые стреляют... А можно ли такой прикол в обычном НВНе сделать? Ну если сама баллиста двигаться не будет, то хоть чтоб перед ней эффект от фаербола был (со всеми соответствующими звуками) после нажатия на неё... Так же, она должна "попасть" в несколько булыжников, которые перекрывают вход в пещеру... После выстрела, булыжники должны взорваться и исчезнуть... Но чтобы булыжники незя было сломать ничем кроме выстрела из баллисты... И ещё, можно ли сделать так чтобы булыжники через минут 10 восстанавливались на том же месте и можно бы было повторять выстрел о5...

Токо я не уверен что это возможно сделать... =(
Аваддон
Можно! Легко...smile.gif
DBColl
А я бы сказал: можно, но нелегко. И баллисту двигаться заставить довольно просто. Нужно ее сделать в качестве непися, а не плэйсэбла wink3.gif. Поредактировать 2да.
Вестель
QUOTE (DBColl @ Jul 15 2004, 10:13)
Поредактировать 2да.

DBColl, не надо говорить таких страшных слов. Призрак не настолько крут в АВРОРЕ, чтобы "на хоп" редактировать 2да. А так сейчас будет вопрос, "Как?" на что его отошлют к Айсу, который скажет "Никак" и полуэльф будет мучатся.. Мне кажется, достаточно одного краткого ответа: "Сложно, но можно". Я вот сейчас вожусь со скриптом, заставить баллисту жжахнуть фаерболом, чтобы не давать голословных ответов.
//Все вышенаписанное можно стереть, если оно кому-то не понравится
DBColl
QUOTE
DBColl, не надо говорить таких страшных слов. Призрак не настолько крут в АВРОРЕ, чтобы "на хоп" редактировать 2да. А так сейчас будет вопрос, "Как?" на что его отошлют к Айсу, который скажет "Никак" и полуэльф будет мучатся..

Во-первых, Айс не скажет "никак".
Во-вторых, чтоб не мучится, надо лишь открыть наш Леворов хак, взять оттуда appearance.2da и положить в свой хак.
Tarre Talliorne
QUOTE
Я вот сейчас вожусь со скриптом, заставить баллисту жжахнуть фаерболом

На ваулте есть мод Аваддона баллистовый. Скчай - там это есть.
Вестель
QUOTE (Tarre @ Jul 15 2004, 11:39)
На ваулте есть мод Аваддона баллистовый.

Вскачать всегда проще. Вот я хочу сам разобраться.
Neverwinter Script Source
//Висит на onHeartBeat катапульты
void main()
{
object oCat=OBJECT_SELF;
object oZaval=GetObjectByTag("NW_STONE");
object oStone=GetFirstItemInInventory(oCat);
if ((oStone!=OBJECT_INVALID)&&(GetTag(oStone)=="NW_BUMBUM")){ //проверяет положили ли в нее камень
    DestroyObject(oStone); //уничтожает его
    ActionCastSpellAtObject(SPELL_FIREBALL,oZaval, METAMAGIC_ANY,TRUE); //жахает фаерболл
    DestroyObject(oZaval); //уничтожает камень завала
    }
}

Самое забавное, камень завала не уничтожается, а остается стоять.
А вот после выстрела сквозь него персонаж нормально проходит. Где грабли?
DBColl
Может несовпадение тэгов?
Вестель
DBColl В том-то и дело, что как только это дело проходит, больше ничего не работает.. Повторные попытки жжахнуть не проходят, потому как объекта с тегом "NW_STONE" он не находит. Не дестроится визуальная часть объекта и все..
Теги проверил - КОПИ/ПЕЙСТ - все равно не помогает
Auren
Посмотри.....вродьбы 3 главу стандартной кампании. Там были стреляющие баллисты.
DBColl
Вестель
Попробуй сделать задержку у дестроя:
DestroyObject(..., 0.5);
Вестель
QUOTE (DBColl @ Jul 15 2004, 14:31)
Попробуй сделать задержку у дестроя:

Безрезультатно. Даже если делать
Neverwinter Script Source
DelayCommand(0.5,DestroyObject(oStone));

все равно "визуальные" камни остаются
DBColl
Хм... А попробуй закомментируй каст спелла. Просто уничтожить. Получится?
Вестель
Нашел!
На плацеблах "камменюк", которые блокирывали проход стоял значок Static..
Стоило его убрать, они начали исчезать..

Теперь другой вопрос, почему у меня катапульта палит в левый верхний угол, а не куда я ей сказал? в смысле не в oZaval?

Уже куда надо палит!
Lex
ActionCastSpellAtObject при растоянии больше, чем дальность действия закла косячит.
Делай фэйковый каст, а дамаж пиши сам (катапульты, которые обстреливают Тсурлагол делал так, так как дальность там было ой-ой-ой)

В 3-ей главе я когда-то (1.5 года назад) не нашел скрипты эти, на катапультах нет скриптов стрельбы. Поэтому делал сам, подсмотрев фишку про БалистикТраекторию у модуля катапульты на валуте. (все это было больше года назад. С тех пор скрипт стрельбы не менял)
ПРИЗРАК
Ой, а терь можно мне как что делать объяснить ООООООООЧЕНЬ подробно и сказать если чё что откуда скачать, я был бы очень-очень рад... biggrin.gif
Вестель
ПРИЗРАК
Качай этот файл (44Кб), посмотри, что там сделано, если будут вопросы, пиши еще.
ПРИЗРАК
ДБ, про катапульту... biggrin.gif
Вест, ща гляну...
<small>Добавлено в 14:45</small>
А что за оCat, oZaval u oStone?

Neverwinter Script Source
void main()
{
object oCat=OBJECT_SELF;
object oZaval=GetObjectByTag("NW_STONE");
object oStone=GetFirstItemInInventory(oCat);
if ((oStone!=OBJECT_INVALID)&&(GetTag(oStone)=="NW_BUMBUM")){
    DestroyObject(oStone);
    ActionCastFakeSpellAtObject(SPELL_FIREBALL,oZaval);
    DelayCommand(0.5,DestroyObject(oZaval,0.5));
    }
}


З.Ы. Оффтоп... Как цветом выделять слова? Как это должно выглядеть в написании?

LEX: теперь, когда есть кнопка НСС скрипты писать ТОЛЬКО в этом режиме
Аваддон
object - оператор который присваивает к обозначению объект. Напимер, чтоб каждый раз мы не писали GetObjectByTag("TEST_NPC").
Мы просто присваиваем обзначению oNPC объект GetObjectByTag("TEST_NPC").
Присвоение таким образом
Neverwinter Script Source
object oNPC = GetObjectByTag("TEST_NPC");

И теперь в коде нам будет разобраться проще например вместо долгой строки:
Neverwinter Script Source
AssignCommand(GetObjectByTag("TEST_NPC"),SpeakString("Привет!"));

нам достаточно написать:

Neverwinter Script Source
AssignCommand(oNPC,SpeakString("Привет!"));

если мы заранее указали что такое у нас oNPC.
Вот и разбирайся что есть что.
OBJECT_SELF - это значит, грубо говоря самого себя.
Тоесть если скрипт стоит на катапульте и object oCat = OBJECT_SELF;
Значит за oCat катапульта будет брать саму себя.
object oZaval=GetObjectByTag("NW_STONE"); - это значит что oZaval это у нас обхект с тэгом NW_STONE.
object oStone=GetFirstItemInInventory(oCat); - значит что oStone - какой либо объект в инвентаре объекта oCat (катапульты).
if ((oStone!=OBJECT_INVALID)&&(GetTag(oStone)=="NW_BUMBUM")) - Если oStone (!= это значит НЕ ЯВЛЯЕТСЯ, или не равен) тоесть если oStone есть в инвентаре катапульты (&& - и) его тэг - NW_BUMBUM, то выполняются действия:
{
Уничтожить объект oStone в инвентаре катапульты c тэгом NW_BUMBUM;
Катапульта стреляет фаерболом в объект oZaval
И через 0.5 сек завал уничтожается.
}
ПРИЗРАК
Здарова люди, вот наконец-то освободился от экзаменов...

Насчёт катапульты... biggrin.gif У меня всё получилось, но мона ли пару вещей изменить? Вставить взрыв фаербола на камне + чтоб звук появлялся, например от магии Руна что-ли, ну там луч лазерный с неба бьёт. И ещё, чтоб камни через минут 30 заново появлялись... Заранее сеньк...
Аваддон
Эт прям не катапульта получается, а армагедон получается. Конечно можно. Ищешь этот звук и потма проигрывашеь его командой PlaySound. А чтоб восстанавливались - поставь DelayCommand(30.0, CreateObject ...
ПРИЗРАК
Почему армагеддон? Ну должен же БАБАХ быть... pleasantry.gif
Можешь написать весь скрипт, я так не врубаюсь... crazy.gif
А звук куда вставить то?
Аваддон
Весь скрипт..ишь деловой какой, надо бы и самому уже могеть потихонечку. Звук ищешь в разделе звуков(каламбурчик какой). Потом у тебя там есть в скрипте катапульты такая фишка DelayCommand(столько.секнду, ApplyEffectToObject...
И там стоит эффект фаербол. вот там же вставляешь строчку с таким же DelayCommand(столко.секунд,PlaySound("реф_звука");
FenrIX_666
Наверное жутко глупый вопрос (и не по теме):
Есть у меня древняя идея, сделать диспелящую стрелу (это решилось банальным свойством onHit: Dispel Magic), при этом чтобы выглядел полет как Eye-ray attack бехолдера.
Так вот, каким образом можно поменять прожектайл стрелы?
DBColl
FenrIX_666
Я не уверен, что это можно. Более того, уверен на 99%, что нельзя.
NiMH
можно просто сделать специфическую стрелу, с диспелом на ударе, не более.. может быть, можно как-то сделать через хаки, может это как-то можно собрать, но DB прав, скорее всего нельзя.
DBColl
Хаками можно сделать 100%. Другой вопрос, кто станет это делать? Ибо по-моему не самая важная, ЭФФЕКТНАЯ и часто применяемая вещь.
Tarre Talliorne
Млин, ДБ, ИМХО пора создать тему а-ля "Эффективные способы воздействие на играющего в ваши моды". Люди все больше зацикливаются на мелочах... Помнишь, у нас с тобой на эту же тему был разговор. :-) Может, его немного облагородить и перенести в ную тему?
DBColl
QUOTE (Tarre @ Aug 18 2004, 12:31)
Млин, ДБ, ИМХО пора создать тему а-ля "Эффективные способы воздействие на играющего в ваши моды". Люди все больше зацикливаются на мелочах... Помнишь, у нас с тобой на эту же тему был разговор. :-) Может, его немного облагородить и перенести в ную тему?

Быть может и надо... Но, имхо, создатель должен сам дойти и понять это. Тема не расскажет обо всем. Это получится скорее некий псхологически-философский опус, чем членораздельное пропунктированное руководство для начинающего. А читать и обращать ОСОБОЕ внимание на советы "без пунктов", ЧТО и КАКИМ ОБРАЗОМ сделать, чтобы модуль был интересным, начинающие скорее всего не будут... sad.gif Имхо. Так что о создании темы - все-таки 50 на 50... Быть или не бывать... Не знаю...
FenrIX_666
Мдя.. не до мод-мейка далековато... Я просто скриптую да иногда контент правлю =)

А как с помощюью хаков? в смысле как файло моделей прожектайлов зоветься?

И еще вопросик. Можно ли скриптова запретить использовать оружия/броники/Вондероуз айтемы, чтобы они выглядели как не-классовые (скажем запретить магу использовать палки/свитки/пруты/посохи, без добвления переменной Only usable by: и Use limitation) ...
DBColl
QUOTE (FenrIX_666 @ Aug 19 2004, 11:32)
А как с помощюью хаков? в смысле как файло моделей прожектайлов зоветься?

Не думаю, что все так как ты себе представляешь. Интуиция. Хотя подробности объяснить сможет кто-то из контентщиков... Айс, DarkLord, LexSuS...
Добавлено в [mergetime]1092905264[/mergetime]
QUOTE (FenrIX_666 @ Aug 19 2004, 11:32)
И еще вопросик. Можно ли скриптова запретить использовать оружия/броники/Вондероуз айтемы, чтобы они выглядели как не-классовые (скажем запретить магу использовать палки/свитки/пруты/посохи, без добвления переменной Only usable by: и Use limitation) ...

Надо перехватывать тэги или тип объекта в событии ModuleActivateItem и попытаться там что-то сделать... Хотя, если честно, не уверен, что прокатит.

ЗЫ. А чем тебя не устраивает ограничение в свойствах айтема?
Auren
Вот такой вопрос: мне надо реализовать три времени суток. Тоесть грубо говоря два дня и одну ночь(на самом деле все сложнее), и менялось освещение и звуки, как это лучше сделать. И колличество часов в сутках прописано в движке? Если нет, то где?
DBColl
QUOTE (Auren @ Aug 20 2004, 01:24)
Тоесть грубо говоря два дня и одну ночь(на самом деле все сложнее)

??? Не понял...
QUOTE (Auren @ Aug 20 2004, 01:24)
колличество часов в сутках прописано в движке? Если нет, то где?

Количество часов - 24. Прописаны движком. Единственное, что можно сделать, это изменить время рассвета, заката. Все.
Auren
QUOTE (DBColl @ Aug 20 2004, 09:53)
??? Не понял...


Вообщем мне надо, чтобы сутки длились 36 часов и освещение за сутки менялось три раза. Про длительность суток я уже придумал, а вот про освещение....как?
JCDenton
Как сделать диалог так чтобы:

при первом разговоре - давался квест, а при последующих спрашивали " выполнен ли он "

точнее какой скрипт должен быть для смены первой фразы NPC..
Аваддон
Элементарно,JCDenton. Во время диалога с PC когда дается квест - назначь локалку 1. А при каждом начале диалога с NPC проверяй эту локалку. Если она = 0, то пусть дается квест, а если она =1 - пусть проверяется выполнен ли этот квест.
JCDenton
Спасибо обьяснил unsure.gif

дай текст скрипта плиз, мне нужно чтобы при последующем обращении к нпк выдавался второй текст а не первый...
Добавлено в [mergetime]1093294356[/mergetime]
Разобрался , спасибо Аваддон. Скажи а чему я могу присваивать локалки?

GetLocalInt(object oObject,string "name",int value)

какие oObject можно юзать? я юзал Object_Self.. какие есть еще? unknw.gif
DBColl
JCDenton
Практически любой объект в игре может иметь локалки, начиная с существ и заканчивая вейпоинтами.
Объект можно взять по тэгу:
object oObj = GetObjectByTag("тэг объекта");

Если нужен объект игрового персонажа, то
object oPC = GetFirstPC();
FenrIX_666
Ну.. коли в диалоге то можно oObject=GetPCSpeaker();

QUOTE

е думаю, что все так как ты себе представляешь. Интуиция. Хотя подробности объяснить сможет кто-то из контентщиков... Айс, DarkLord, LexSuS...

А где оных найти? wink3.gif

QUOTE

Надо перехватывать тэги или тип объекта в событии ModuleActivateItem и попытаться там что-то сделать... Хотя, если честно, не уверен, что прокатит.


Хм.. по-моему это событие включаеться только при использовании Unique Power *.

Ну вообщем что-то не катит как-то.

QUOTE

ЗЫ. А чем тебя не устраивает ограничение в свойствах айтема?


Да надо в диалоге в зависимости от прошлых действий сделать фразы типа *Ты предал дело Мистры, за это ты не сможешь юзать свитки/палки/посохи/мантии, редиска* или *ты предал дело Кореллона Ларетиана, за это ты не сможешь надевать эльфйские шмотки, нехороший ты человек* и т.д. А свойства айтема не годяться потому как один человек может сделать одно действие... другой-другое. И как быть, если один передаст другом ушмотку... плюс если найдет шмотку из запрещенного списка.
DBColl
QUOTE (FenrIX_666 @ Aug 24 2004, 15:17)
А где оных найти?

Здеся. Задай только свой вопрос в этом форуме http://www.wrg.ru/forums/index.php?showforum=16
QUOTE (FenrIX_666 @ Aug 24 2004, 15:17)
Хм.. по-моему это событие включаеться только при использовании Unique Power *. Ну вообщем что-то не катит как-то.

Верно, но почему не катит?
QUOTE (FenrIX_666 @ Aug 24 2004, 15:17)
Да надо в диалоге в зависимости от прошлых действий сделать фразы типа *Ты предал дело Мистры, за это ты не сможешь юзать свитки/палки/посохи/мантии, редиска* или *ты предал дело Кореллона Ларетиана, за это ты не сможешь надевать эльфйские шмотки, нехороший ты человек* и т.д. А свойства айтема не годяться потому как один человек может сделать одно действие... другой-другое. И как быть, если один передаст другом ушмотку... плюс если найдет шмотку из запрещенного списка.

Так а в чем проблема-то? Если ты пишешь под ХотУ, то там на лету (из скриптов) можно менять свойства айтемов. Вот и делай wink3.gif.
JCDenton
DBColl

А можно присваивать две разные локалки одному объекту?

SetLocalInt(OBJECT_SELF, "TL1", 1);
SetLocalInt(OBJECT_SELF, "TL2", 2);

???

P.S.

Это я у тя в аське, я хочу тестером быть yes3.gif

Добавлено в [mergetime]1093370032[/mergetime]
И еще, как сделать чтобы у PC в начале игры отобрали все предметы...
Где этот скрипт повесить?
Valleo
2 JCDenton:
Ты можешь применить к любому объекту безграничное число локальных переменных (int, string, object, location и т.п.) при условии, если их имена НЕ будут совпадать.
FenrIX_666
2JCDenton
на событии onClientEnter.
Прописать удалениее всех предметов у объекта GetEnteringObject();
Перебор предметов идет через
Neverwinter Script Source
object oItem = GetFirstItemInInventory(...);
while (GetIsObjectValid(oItem))
{
    //удаление предмета
    ....
    oItem = GetNextItemInInventory(...);
}


QUOTE

Верно, но почему не катит?

Ну.. потому как мне еще и на остальные касты/свойства предмета запрет поставить нуно. Не только на Unique Power.

QUOTE

Так а в чем проблема-то? Если ты пишешь под ХотУ, то там на лету (из скриптов) можно менять свойства айтемов. Вот и делай wink3.gif.

Эт я знаю. Но я не помню среди свойств Not usable by <конкретный чар>. Нужно сделать не на шмотку запрет.. а на чара использование айтемов определенного типа. Например запретить полный запрет магу на использование свитков/палок/стаффов/вандов/спеллов на надеваемых шмотках и т.д.
balrog
А что надо вписать вскрипте
CODE

#include "nw_i0_generic"
void main()
{
int fullHP=GetMaxHitPoints(OBJECT_SELF)*3;
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(fullHP),OBJECT_SELF);
ActionSpeakString("?? ???? ??? ?? ?????!!!");
SetIsTemporaryEnemy(GetPCSpeaker());
ActionAttack(GetPCSpeaker());
DetermineCombatRound();
}
Шоб НПС не толькл наподал, а еще и менялся его тип, из защищаюсего на агресивного. Ато у меня через диало НПС нападает, а когда ты его начанаешь бить, то все НПС на тебя налетают biggrin.gif
Tarre Talliorne
Поставь твоему нписю нейтраьную к други фракцию.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.