Вопросы новичков, Абсолютные глупости |
Здравствуйте, гость ( Вход | Регистрация )
Вопросы новичков, Абсолютные глупости |
May 1 2006, 23:56
Сообщение
#2551
|
|
Level 8 Класс: Теневой Танцор Характер: True Neutral Раса: Эльф |
Я хотел просто избежать геморроя с фракциями, но можно, чтобы тот, кто бьет ПС был в отдельной фрации и проблем не будет. Я хотел, чтобы НПС один раз ударил ПС...короче проблем уже нет...
|
May 4 2006, 15:10
Сообщение
#2552
|
|
Level 3 Класс: Тайный Лучник Характер: Chaotic Good Раса: Дракон |
QUOTE Сто раз говорили, как поменять required-версию ресурса. Скажите в сто первый. (IMG:style_emoticons/kolobok_light/biggrin.gif) |
May 4 2006, 16:33
Сообщение
#2553
|
|
Level 19 Класс: Обыватель Характер: True Neutral Раса: Дварф NWN: Контент |
Нужно изменить строку Mod_MinGameVer в ресурсе module.ifo в нужном тебе модуле. Подойдет NWN Editor:
http://vhall.master-l.ru/nwn/nwn_editor.zip ЗЫ Залейте на сайт, наконец. Даже если WRG Content Editor поддерживает эти функции. LEX: залил. Финальная версия WRG Content Editor с этими форматами работать тоже будет, естественно. (IMG:style_emoticons/kolobok_light/wink3.gif) |
May 4 2006, 17:01
Сообщение
#2554
|
|
Level 3 Класс: Тайный Лучник Характер: Chaotic Good Раса: Дракон |
(IMG:style_emoticons/kolobok_light/yahoo.gif)
Урряяя!!!!!! Заработало!!! (IMG:style_emoticons/kolobok_light/yahoo.gif) |
May 7 2006, 00:02
Сообщение
#2555
|
|
Level 1 Класс: Друид Характер: Neutral Good Раса: Человек |
Здравствуйте! Прошу вашей помощи: У меня 3 вопроса (IMG:style_emoticons/kolobok_light/smile.gif)
1. Такая ситуация: предположим, есть некий предмет с тегом a1, и мне нужно, чтобы НПС во время диалога дал мне этот предмет. Я пробовал написать скрипт сам: NSS void main() { CreateItemOnObject("a1", GetPCSpeaker(), 1); } Но не выходит (IMG:style_emoticons/kolobok_light/sad.gif) Помогите, пожалуйста!) 2. Предположим, есть НПС с тегом z1 и есть НПС с тегом x1, НПС с тегом z1 принадлежит к фракции A, а НПС с тегом x1 к фракции B. Эти НПС находятся в одной комнате. Вот что нужно: Если НПС с тегом x1 выходит из комнаты, то НПС с тегом z1 начинает его бить, и когда у НПС с тегом x1 остается мало хелсов, z1 прекращает его бить и они оба возвращаются в комнату. 3. Предположим, что есть НПС с тегом a1 и есть стул с тегом b1. Нужно, чтобы НПС сел на этот стул. __________ Заранее благодарю, только, пожалуйста, напишите подробно как что делать (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал Aiwan - May 7 2006, 05:16 |
May 7 2006, 09:13
Сообщение
#2556
|
|
Вечно меняющийся Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] |
1 - Нужно указывать не таг, а ResRef предмета.
2 - Если под комнатой подразумевается тайл, то рисуем триггер перед выходом из комнаты, на onEnter: NSS void main() { object oNPC = GetObjectByTag("z1"); // NPC с тагом z1 object oEnter = GetEnteringObject(); // NPC с тагом x1 if (GetIsPC(oEnter)) return; if (GetTag(oEnter) == "x1") { if (GetLocalInt(OBJECT_SELF, "Enter") == FALSE) { SetLocalInt(OBJECT_SELF, "Enter", 1); AssignCommand(oNPC, ClearAllActions()); AssignCommand(oEnter, ClearAllActions()); DelayCommand(0.2, AssignCommand(oNPC, ActionAttack(oEnter))); // Заставляем z1 атаковать x1 DelayCommand(0.2, SetCommandable(FALSE, oEnter)); // Забиваем стек-комманд, у x1 // (Т.е он теперь стоит обездвиженный, если это не нужно строчку можно удалить) // (Но тогда неписи будут сражаться) } } } QUOTE у НПС с тегом x1 остается мало хелсов, z1 прекращает его бить и они оба возвращаются в комнату Выше Aiwan приводил, очень похожий скрипт, попробуй его маленько модифицировать, и получится то что нужно. (IMG:style_emoticons/kolobok_light/smile.gif) 3 - На onSpawn NPC. NSS void main()
{ object oNPC = OBJECT_SELF; object oChair = GetNearestObjectByTag("Таг_стула"); AssignCommand(oNPC, ClearAllActions()); DelayCommand(0.2, AssignCommand(oNPC, ActionSit(oChair))); } Сообщение отредактировал Dik Morris - May 7 2006, 09:28 |
May 7 2006, 10:07
Сообщение
#2557
|
|
Level 1 Класс: Друид Характер: Neutral Good Раса: Человек |
Спасибо большое (IMG:style_emoticons/kolobok_light/smile.gif)
|
May 13 2006, 21:37
Сообщение
#2558
|
|
Level 1 Класс: Бард Характер: Chaotic Good Раса: Хафлинг |
Приветы.
Вопросы : 1. Классы а) Как редактировать существующий класс? б) Как создать свой собственный класс? 2. Фиты а) Как изменять существующие фиты? б) Как создавать собственные фиты? 3. Спеллы а) Как изменять существующие спеллы? б) Как создавать свои? 4. Вопросы по "Игрок атакует" и "Игрок получает ранение" а) Как сделать так, чтобы при ударе другого игрока использовался нужный скрипт? б) Как сделать так, чтобы при ранении игрока использовался нужный скрипт? Просьба отвечать знающих людей, а не любителей. Так, как любители мне уже насоветовали кучу нерабочих алгоритмов и методов работы с 2да. Заранее благодарен. |
May 13 2006, 21:43
Сообщение
#2559
|
|
Level 5 Класс: Волшебник Характер: Neutral Evil Раса: Человек NWN: Скриптинг [Sn] NWN2: Скриптинг [Sn] МАСТЕР D&D Проклятие Левора Порядок Времени |
1,2,3 - http://www.wrg.ru/forums/index.php?showtopic=78
4 - нормально никак. Не нормально: а) на все оружие повесить уникальный закл по линии onHitCastSpell (закл прописать как надо, там 2 2дашки). НО не будет работать в рукопашке б) на всю одежду и броню повесить уникальный закл по линии onHitCastSpell (так же прописать) НО не будет работать на голых (вариант лечения: шкурка.. не пробовал голым, но в одежде не канает) в) на default отслеживать изменение ХП игрока. НО.. сам видишь я думаю |
May 13 2006, 21:44
Сообщение
#2560
|
|
Вечно меняющийся Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] |
По 1, 2 и 3 вопросам - Сюда
По поводу 4... Эвента по типу onDamaget применимого к игроку, не существует, поэтому отслеживай игрока, другим способом, к примеру через XB модуля. |
May 13 2006, 22:12
Сообщение
#2561
|
|
Level 19 Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] |
Fremen, по первым трем вопросам тебе уже дали ссылки на соответствующий форум, там в темах найдешь готовые ответы на твои вопросы.
По четвертому - зайди на сайт в раздел Файлы -> Aurora Toolset и качни Alternative Core. Там уже отслеживаются события по атаке и изменении жизней у игрока. С системой поставляется хелп, если что будет не понятно, то спроси на форуме. Fremen, по первым трем вопросам тебе уже дали ссылки на соответствующий форум, там в темах найдешь готовые ответы на твои вопросы. По четвертому - зайди на сайт в раздел Файлы -> Aurora Toolset и качни Alternative Core. Там уже отслеживаются события по атаке и изменении жизней у игрока. С системой поставляется хелп, если что будет не понятно, то спроси на форуме. |
May 13 2006, 22:27
Сообщение
#2562
|
|
Level 1 Класс: Бард Характер: Chaotic Good Раса: Хафлинг |
Биг Сенкс. (IMG:style_emoticons/kolobok_light/good.gif)
|
May 13 2006, 22:38
Сообщение
#2563
|
|
Миловидный Бегрюссунг Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
QUOTE(Fremen @ May 14 2006, 00:37) [snapback]81656[/snapback] Просьба отвечать знающих людей, а не любителей. Хоть бы один кому ответили показал готовую работу... LEX: ладно те, не бурчи как старый дед (IMG:style_emoticons/kolobok_light/lol.gif) |
May 18 2006, 09:39
Сообщение
#2564
|
|
Level 3 Класс: Волшебник Характер: Neutral Evil Раса: Человек |
Не знаю задавали ли подобный вопрос или нет(если был, скажите пойду искать в теме (IMG:style_emoticons/kolobok_light/bb.gif) )
Как заставить нпса ШД активно использовать хипс во время боя. Т.е. нужно, чтобы в каждом раунде он уходил в хипс, а потом атаковал игрока. И нечто вроде проверки на нахождение уже в хайде, если вдруг за раунд он не будет успевать спрятаться и атаковать =) Плюс проверка видит игрок его или нет(если у игрока есть трусинг или высокий параметр спота\листена), чтобы зря не уходил в хайд. Помогите пожалуйста (IMG:style_emoticons/kolobok_light/rolleyes.gif) |
May 18 2006, 10:17
Сообщение
#2565
|
|
Лорд AxisTown'a Класс: Монах Характер: Lawful Good Раса: Дварф NWN: Маппинг |
QUOTE Просьба отвечать знающих людей, а не любителей. а тут все любители (IMG:style_emoticons/kolobok_light/biggrin.gif) |
May 18 2006, 13:20
Сообщение
#2566
|
|
Level 3 Класс: Паладин Характер: Lawful Good Раса: Человек |
Влом мне читать все 100 страниц... Какой скрипт повесить на OnEnter триггера, чтобы дверь сломалась?
(да, и что такое синька (IMG:style_emoticons/kolobok_light/unsure.gif) ) |
May 18 2006, 13:28
Сообщение
#2567
|
|
Level 5 Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
а какие у тебя трудности?
соединить NSS // Get the nNth object with the specified tag. // - sTag // - nNth: the nth object with this tag may be requested // * Returns OBJECT_INVALID if the object cannot be found. // Note: The module cannot be retrieved by GetObjectByTag(), use GetModule() instead. object GetObjectByTag(string sTag, int nNth=0) // Destroy oObject (irrevocably). // This will not work on modules and areas. void DestroyObject(object oDestroy, float fDelay=0.0f) // Get oObject's local string variable sVarName // * Return value on error: "" string GetLocalString(object oObject, string sVarName) // The value returned by this function depends on the object type of the caller: // 1) If the caller is a door it returns the object that last // triggered it. // 2) If the caller is a trigger, area of effect, module, area or encounter it // returns the object that last entered it. // * Return value on error: OBJECT_INVALID // When used for doors, this should only be called from the OnAreaTransitionClick // event. Otherwise, it should only be called in OnEnter scripts. object GetEnteringObject() // * Returns TRUE if oCreature is a Player Controlled character. int GetIsPC(object oCreature) в 1 скрипт? NSS void main() { // наступивший на триггер объект object oPC = GetEnteringObject(); // если не игрок - выходим if (!GetIsPC(oPC)) return; // берем ближайший к триггеру объект с тэгом, записаным в локалку DELETE object oToDel = GetNearestObjectByTag(GetLocalString(OBJECT_SELF,"DELETE")); // или это юзаем, если объект для удаления в другой локации // object oToDel = GetObjectByTag(GetLocalString(OBJECT_SELF,"DELETE")); // удалить объект DestroyObject(oToDel); // удалить триггер, чтобы больше не срабатывал. DestroyObject(OBJECT_SELF,0.2); } надо сделать на триггере строковую переменную с именем DELETE и тэгом двери, которую будешь удалять Учи мат. часть, а не спрашивай готовое, так далеко не уедешь. (IMG:style_emoticons/kolobok_light/smile.gif) |
May 18 2006, 13:54
Сообщение
#2568
|
|
Level 3 Класс: Паладин Характер: Lawful Good Раса: Человек |
блин, не успел сказать, сам разобрался
NSS void main() { object oPC = GetEnteringObject(); object oDoor = GetObjectByTag("KONDOORIN"); DelayCommand(0.1, ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectDeath(TRUE),oDoor)); } А удалять триггер мне не обязательно. По сюжету плеер больше никогда не попадет в эту комнату, да и удалять будет уже нечего. Встал другой вопрос! Когда я ставлю триггер, то он либо ловушка! либо на него можно щелкнуть! (у меня самая первая НВН) |
May 18 2006, 14:02
Сообщение
#2569
|
|
Вечно меняющийся Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] |
QUOTE Когда я ставлю триггер, то он либо ловушка! либо на него можно щелкнуть! (у меня самая первая НВН) 1. В св-вах триггера выбери его тип: Generic. 2. Если не ошибаюсь EffectDeath применим только к NPC и игроку, в этом случае используй: EffectDamage. PS: QUOTE Palette (палитра, синька) – этот термин употребляется для описания групп, которые содержат какие-либо предметы или создания. Все монстры, предметы, магазины и т.д. распределены по группам и составляют в сумме палитру. © Aiwan Сообщение отредактировал Dik Morris - May 18 2006, 14:28 |
May 18 2006, 14:13
Сообщение
#2570
|
|
Level 3 Класс: Паладин Характер: Lawful Good Раса: Человек |
EffectDeath - рулит для двери, у мен пашет!
В реале никак не получается создать триггер! я даже смотрел триггеры в стандартной кампании, делаю как там, и ... попа |
May 18 2006, 14:24
Сообщение
#2571
|
|
Вечно меняющийся Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] |
Trigger Wizard -> Generic Trigger, все там есть.
QUOTE EffectDeath - рулит для двери, у мен пашет! Эм, это не я - кот на клаве полежал. ))) |
May 18 2006, 14:26
Сообщение
#2572
|
|
Level 3 Класс: Паладин Характер: Lawful Good Раса: Человек |
Итак делал, и по всякому... один хрен, ладно, сам как нить разберусь!
|
May 18 2006, 14:29
Сообщение
#2573
|
|
Level 5 Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
..::SERGO::..
приведенный тобой скрипт 1. сработает при наступании любого НПС на него (если так и надо, то там лишняя строка) 2. будет работать многократно, что не гут если у тебя объектов с таким тэгом не один. (даже если 1, все равно такие шероховатости могут потом вылезти, лучше сразу нормально делать) 3. если тебе потребуется еще такой же триггер, но там тэг у двери будет уже другой, придется писать новый скрипт (в то время как предложенный мною вариант универсальный, на все возможные тэги) про триггеры уже все сказал Дик. в первой закладке есть менюшка "Тип Триггера". Там 3 позиции: ловушка, общий, переход местности. Тебе нужен соотв. общий. или ищи в стандартной палитре триггер с названием New Generic (новое поколение могли перевести у тебя, я (IMG:style_emoticons/kolobok_light/unknw.gif) ) |
May 19 2006, 10:14
Сообщение
#2574
|
|
Level 6 Класс: Варвар Характер: Chaotic Good Раса: Полуорк |
Тут такое дело, вобщем нужно мне сделать проверку левела PC, вот только функции я сей не знаю, может кто подскажет?
|
May 19 2006, 10:58
Сообщение
#2575
|
|
Вечно меняющийся Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] |
NSS // Get the number of hitdice for oCreature. // * Return value if oCreature is not a valid creature: 0 int GetHitDice(object oCreature) Либо: NSS // Get oCreature's experience.
int GetXP(object oCreature) Сообщение отредактировал Dik Morris - May 19 2006, 11:09 |
Текстовая версия | Сейчас: 17th January 2025 - 00:09 |