Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила этого форума ПРАВИЛА РАЗДЕЛА
34 страниц V  « < 17 18 19 20 21 > »   
Ответить в эту темуОткрыть новую тему
> Одиночный вопрос, Не знаете, где задать вопрос? Пишите сюда!
Griffon
сообщение Jul 29 2008, 14:15
Сообщение #451


Level 18
Иконки Групп

Класс: Страж Тьмы
Характер: True Neutral
Раса: Человек
МАСТЕР D&D



Если ты располагал ВП по кругу, то НПС и должен ходить 1,2,3,4,1,2,3,4. Для того чтобы менять направление на рандомное есть скрипт:
Neverwinter Script
#include "ginc_wp"

void main()
{
int iCurrentWP = GetCurrentWaypoint();// the waypoint we just arrived at
int iNextWP = iCurrentWP+1;
if (iCurrentWP>4)
iNextWP = 1;
SetNextWaypoint(iNextWP);
}


Ставится на хартбит НПС.


Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
priest
сообщение Jul 29 2008, 17:29
Сообщение #452


Level 2
*

Класс: Клерик
Характер: Lawful Neutral
Раса: Человек



Цитата(Griffon @ Jul 29 2008, 15:15) *
Если ты располагал ВП по кругу, то НПС и должен ходить 1,2,3,4,1,2,3,4.

хм, ты уверен? У меня вот как waypoint'ы расположены:
(IMG:http://ipicture.ru/uploads/080729/14157/6SjOHBhppR.jpg)

и все равно она ходит 1-2-3-4-3-2-1-2-3-4-3-2-1...

может я как-то не так их расставил? если можешь - дай пожалуйста свой скрин с расположением waypoint'ов, позволяющим зациклить ходьбу NPC.

Скрипт, устанавливаемый на "on heartbeat" хорош для одного NPC... а если у меня их 50-60? и в каждом раунде это будет обрабатываться? а в модуле ведь помимо этих и другие скрипты есть.

Интересно, а можно реализовать как-нибудь так: создается скрипт с названием wp_<npctag>, и в нем уже прописывается что, мол, с последнего waypoint'а NPC должен идти на первый, а не на предпоследний? И вот таким образом зациклить waypoint'ы.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Griffon
сообщение Jul 29 2008, 20:39
Сообщение #453


Level 18
Иконки Групп

Класс: Страж Тьмы
Характер: True Neutral
Раса: Человек
МАСТЕР D&D



У тебя три ВП! Как она может ходить 1,2,3,4????? И не надо их замыкать в треугольник она сама пойдет по 1,2,3,1,2,3......

Цитата(priest @ Jul 29 2008, 18:29) *
Скрипт, устанавливаемый на "on heartbeat" хорош для одного NPC... а если у меня их 50-60? и в каждом раунде это будет обрабатываться? а в модуле ведь помимо этих и другие скрипты есть.

ничего страшного они ж не все пойдут рандомно
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
priest
сообщение Jul 29 2008, 22:30
Сообщение #454


Level 2
*

Класс: Клерик
Характер: Lawful Neutral
Раса: Человек



Цитата(Griffon @ Jul 29 2008, 21:39) *
У тебя три ВП! Как она может ходить 1,2,3,4????? И не надо их замыкать в треугольник она сама пойдет по 1,2,3,1,2,3......
не-не-не! Там где она стоит, не один вейпоинт, а два! У них просто координаты абсолютно одинаковые!
(IMG:http://ipicture.ru/uploads/080729/14157/U5TBpaac1a.jpg)

по алгебре у мну трояк был, но считать до четырех я умею (IMG:style_emoticons/kolobok_light/crazy.gif) еее
к тому же между последним и первым waypoint'aми белых стрелочек не бывает!
(IMG:http://ipicture.ru/uploads/080729/14157/4UPgY40J1o.jpg)

Цитата(Griffon @ Jul 29 2008, 21:39) *
ничего страшного они ж не все пойдут рандомно
Да не в том дело, я читал, что если в моде много NPC со скриптом в "on heartbeat script", то просчет в каждом раунде скриптов для каждого NPC систему нагружает сильно. Это правда? Просто мне уже нужно первую локацию модуля заселять, а вдруг я сделаю - а потом тормоза сплошняком будут. Я же убьюсь переделывать (IMG:style_emoticons/kolobok_light/sad.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Armor Darks
сообщение Jul 30 2008, 14:46
Сообщение #455


Level 6
**

Класс: Некромант
Характер: Lawful Evil
Раса: Нежить



у тебя четвертый вэйпоинт лишний, если он стоит внутри стартового вэйпоинта. Возможно он и приводит к неправильной последовательности. Попробуй просто убрать его, тогда достигнув 3 вэйпоинт нпс пойдет к стартовому, создавая таким обрязом треугольник.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
priest
сообщение Jul 30 2008, 16:18
Сообщение #456


Level 2
*

Класс: Клерик
Характер: Lawful Neutral
Раса: Человек



Цитата(Armor Darks @ Jul 30 2008, 15:46) *
у тебя четвертый вэйпоинт лишний, если он стоит внутри стартового вэйпоинта. Возможно он и приводит к неправильной последовательности. Попробуй просто убрать его, тогда достигнув 3 вэйпоинт нпс пойдет к стартовому, создавая таким обрязом треугольник.

фигушки... сами смотрите.

Так что насчет моего предыдущего вопроса, "on heartbeat" скрипты перегружают систему при просчете, если в модуле много NPC?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Armor Darks
сообщение Jul 30 2008, 23:52
Сообщение #457


Level 6
**

Класс: Некромант
Характер: Lawful Evil
Раса: Нежить



К сожелению не могу взглянуть лично, поскольку я забил на нвн2 и всем, что связано с ним больше года назад и, соответственно, клиента нвн2 у меня попросто не осталось. От ныне нвн1 во веки веков (IMG:style_emoticons/kolobok_light/pilot.gif) =)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
priest
сообщение Jul 31 2008, 01:19
Сообщение #458


Level 2
*

Класс: Клерик
Характер: Lawful Neutral
Раса: Человек



ыыы жаль (IMG:style_emoticons/kolobok_light/smile.gif) но все равно спасибо что пытался помочь
ага уже трое скачавших, может завтра кто и даст ответы...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jul 31 2008, 20:17
Сообщение #459


Level 5
Иконки Групп

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Цитата(priest @ Jul 29 2008, 23:30) *
Да не в том дело, я читал, что если в моде много NPC со скриптом в "on heartbeat script", то просчет в каждом раунде скриптов для каждого NPC систему нагружает сильно. Это правда? Просто мне уже нужно первую локацию модуля заселять, а вдруг я сделаю - а потом тормоза сплошняком будут. Я же убьюсь переделывать

сильно грузят систему корявые и не оптимизированные скрипты, особенно если они стоят в ХБ.
Чтобы он ходил по кругу, а не туда-сюда, нужно переписать WalkWayPoints. Делается скриптерами это для себя довольно часто, кто-то вроде бы выкладывал такое в базу скриптов НВН1. Можно взять оттуда. Можно переписать Walk и самому (заодно оптимизировав его, если этого еще не сделали Обси. Ибо исходный код Биотварей малек тяжеловат и легко потдается упрощению и облегчению)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
priest
сообщение Jul 31 2008, 21:47
Сообщение #460


Level 2
*

Класс: Клерик
Характер: Lawful Neutral
Раса: Человек



Цитата(Lex @ Jul 31 2008, 21:17) *
Чтобы он ходил по кругу, а не туда-сюда, нужно переписать WalkWayPoints. Делается скриптерами это для себя довольно часто, кто-то вроде бы выкладывал такое в базу скриптов НВН1. Можно взять оттуда. Можно переписать Walk и самому

Ну а гайда как переписать WalkWayPoints или чего-то в этом роде не существует? Просто этот т.н. скриптинг для меня вновинку, у меня голова кругом идет уже от половины прочитанной странички тьютора по скриптингу на вики. Вообще я с незначительным скриптованием пересекался когда под half-life 1 и 2 маппил, но тут же просто кошмар, я не понимаю как вы в этом разбираетесь. (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) Может просто поначалу тяжело.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Aug 1 2008, 05:59
Сообщение #461


Level 9
Иконки Групп

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Цитата(Lex @ Jul 31 2008, 21:17) *
Чтобы он ходил по кругу, а не туда-сюда, нужно переписать WalkWayPoints. Делается скриптерами это для себя довольно часто, кто-то вроде бы выкладывал такое в базу скриптов НВН1. Можно взять оттуда. Можно переписать Walk и самому (заодно оптимизировав его, если этого еще не сделали Обси. Ибо исходный код Биотварей малек тяжеловат и легко потдается упрощению и облегчению)
Весь WalkWayPoints в моде переписывать с круговым движением нельзя! НПС не с круговым движением будут тыкаться по углам, как слепые котята... (т.е. с последней точки щемиться на первую) И вообще, эта функция запускается не только с ХБ, поэтому нужен комплексный подход... Если уж нужно запустить НПС по кругу, то проще сделать для этого другую функцию и почистить у него скрипты запускающие WalkWayPoints. Или перевести НПС на точки ходьбы с другими тегами...

Помниться кто-то открыл отдельную тему по WalkWayPoints, но правда для 1 Невера (но я вижу, что мало что изменилось...) Можно глянуть там, что к чему, я писал свою функцию для сингла WalkWayPoints, можно оттуда выдрать круговую ходьбу, удалив обратный цикл подсчета точек.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
priest
сообщение Aug 3 2008, 17:31
Сообщение #462


Level 2
*

Класс: Клерик
Характер: Lawful Neutral
Раса: Человек



Вопрос.
У меня на локации есть npc, тэг: npc1, есть стул, тэг: chair1.
Мне нужно, чтобы npc подошел к стулу и сел, я пишу скрипт и ставлю его у npc на on spawn in script:
void main()
{
object oNpc = GetObjectByTag("npc1");
object oChair = GetObjectByTag("chair1");
ActionMoveToObject(oChair);
ActionDoCommand(ActionSit(oChair));
}


npc подходит к стулу, начинает садиться на него, но тут же прерывается и тупо возле стула стоит. Что я не так делаю?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Aug 6 2008, 17:46
Сообщение #463


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



priest, если уж скрипт висит на НПС, то какой смысл запрашивать его тэг таким способом?
Neverwinter Script
object oNpc = GetObjectByTag("npc1");

Достаточно сделать так:
Neverwinter Script
object oNpc = OBJECT_SELF;

Попробуй использовать такой скрипт:
Neverwinter Script
void main()
{
// AI скрипт
...
// скрипт посадки НПС на стул
    object oChair = GetObjectByTag("chair1");
    float fDistance = GetDistanceToObject(oChair);

    AssignCommand(oPC, ClearAllActions(TRUE));

    if (fDistance > 0.0)
        AssignCommand(oPC, ActionMoveToObject(oChair, FALSE, fDistance));
    DelayCommand(fDistance, AssignCommand(oPC, ActionSit(oChair)));
}

Только есть одна мелкая деталь. НПС не сидят снова на стул, если с ним поговорить. Лучше подобный скрипт вешать на хартбит существа, и делать проверку с помощью переменной или проверки действия НПС, сидит ли НПС или нет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
priest
сообщение Aug 14 2008, 20:19
Сообщение #464


Level 2
*

Класс: Клерик
Характер: Lawful Neutral
Раса: Человек



Вопрос по объекту static camera. В диалогах я его научился использовать, а как сделать, чтобы камера некоторое время показывала просто игровую область - т.е. чтобы работала не в диалоге и не фокусировалась на персонаже?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Griffon
сообщение Aug 15 2008, 08:40
Сообщение #465


Level 18
Иконки Групп

Класс: Страж Тьмы
Характер: True Neutral
Раса: Человек
МАСТЕР D&D



Самое простое изменить задержку. Если же тебе нужно определенный ракурс, то поставить свою камеру и направить куда тебе надо или используй user defined фокус камеры, правда там всего три опции.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
priest
сообщение Aug 15 2008, 16:10
Сообщение #466


Level 2
*

Класс: Клерик
Характер: Lawful Neutral
Раса: Человек



Цитата(Griffon @ Aug 15 2008, 09:40) *
Самое простое изменить задержку. Если же тебе нужно определенный ракурс, то поставить свою камеру и направить куда тебе надо или используй user defined фокус камеры, правда там всего три опции.

А поподробнее можешь описать? Я просто не пойму, как это должно работать - тоже в диалоге, что ли?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Celestial
сообщение Aug 15 2008, 21:23
Сообщение #467


Level 14
****

Класс: Обыватель
Характер: Lawful Neutral
Раса: Эльф



Коллеги, помогите, пожалуйста, с созданием вещей для шарда Балдурс Гейт:

1. Делаем броню "Подарок Ночи":
Необходимо на броню повесить постоянный эффект окутанности тенями: как при выпритии бутылочки Death Armor.
Как это сделать?

2. Делаем мечь "Лаликор":
Мечь по сеттингу - разговаривающий.
Как сделать так чтобы он при ударе по врангу с 20% вероятностью произносил фразу (текст всплывать должен) случайно выбранную из некого набора?
А так же как следать так, чтобы с ним отдельно можно было поговорить, как с НПС?

3. Делаем щит "Щит Балдурана":
По сеттингу он дает иммунитет к атакам Бехолдеров.
Как сделать так, чтобы щит давал иммунитет к магии и магическому дамаджу именно от бехолдеров?

4. Делаем щит... забыл название:
По сеттингу он отражает заклинания обратно на кастующего. Как это реализовать?

Заранее спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Aug 15 2008, 22:42
Сообщение #468


Level 12
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



"Не знаю, как там у вас, а у нас..." (с) Неизвестный Разработчик на НВН1

Цитата
1. Делаем броню "Подарок Ночи"

посмотрите в скрипт этой самой Death Armor (в нвн1 она зовётся "X2_S0_DthArm.nss", вроде скрипты из первой части перенесли "как есть"), там будет наложение визуального эффекта, что-то типа:
Neverwinter Script
effect eDur = EffectVisualEffect(463);

вот его и надо использовать... в онЭквип модудя или скрипт ещё по умолчанию запускается типа "i_+тэг предмета+еq" (опять же, не помню точно)... правда как снимать - непонятно, можно поставить псевдоцикл проверки на "надетость предмета", а эффект длительностью 5-10 сек, если броня надета - подновлять, нет - так нет.

Цитата
2. Делаем мечь "Лаликор":

выкрики - смотрите в сторону On Hit \ On Hit Cast Spell, разговор - Cast Spell, поредактировав .2da, можно добиться чтобы это выглядело естественно. Разговоры с оружием в ХотУ разработчики сделали через создание рядом невидимого нпц с видимым мечом в руке, пропадающего после разговора, но можно вроде игрока разговаривать и с самим собой.
А если пять ударов в раунд - То выкрики каждый раунд получатся: "Этот раунд боя спонсирован Церковью Тора" (IMG:style_emoticons/kolobok_light/blum3.gif)

Цитата
3. Делаем щит "Щит Балдурана":

иммунитета от определённой расы вроде бы нет. пути решения:
а) если у бихолдера ассортимент ограчичен только специальными Лучами Смерти \ Любви, то можно использовать EffectSpellImmunity.
б) можно попробовать использовать спеллхуки, если они остались - "x2_inc_spellhook" в помощь. Если вкратце - то там задаётся в начале функцией SetModuleOverrideSpellscript(string sScriptName) где нибудь при старте модуля скрипт, который будет исполняться при касте любого спелла, и в нём уже можно делать всякие штуки с проверками.

Цитата
4. Делаем щит... забыл название:

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

вобщем, в указаных вещах везде - гимор. (IMG:style_emoticons/kolobok_light/pardon.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Griffon
сообщение Aug 18 2008, 10:11
Сообщение #469


Level 18
Иконки Групп

Класс: Страж Тьмы
Характер: True Neutral
Раса: Человек
МАСТЕР D&D



Цитата(priest @ Aug 15 2008, 17:10) *
А поподробнее можешь описать? Я просто не пойму, как это должно работать - тоже в диалоге, что ли?

Да, это все делается в редакторе диалогов - закладка срока текста (node)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lorendroll
сообщение Aug 18 2008, 15:04
Сообщение #470


Level 9
***

Класс: Волшебник
Характер: Neutral Good
Раса: Эльф



Все верно сказал azathoth.
Хочу только добавить что выкрики на мече можно сделать оверрайдом, заменив оригинальный скрипт стоящий на OnDamaged неписей (не дома сейчас поэтому не помню названия) скриптом с инициированием рандомного FloatingText на атакующем, экипированным данным мечом...
А разговор с мечом проще всего сделать через "Use Item Special Power"... Позже могу написать пример.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Celestial
сообщение Aug 18 2008, 18:39
Сообщение #471


Level 14
****

Класс: Обыватель
Характер: Lawful Neutral
Раса: Эльф



Цитата
Позже могу написать пример

Буду благодарен.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lorendroll
сообщение Aug 18 2008, 22:03
Сообщение #472


Level 9
***

Класс: Волшебник
Характер: Neutral Good
Раса: Эльф



Создаешь скрипт, название которого i_item_ac где item - тег того айтема который активируешь. На айтеме ставь каст спела "Activate Object".
В скрипте пишешь:
Neverwinter Script
void main()
{
object oPC = GetItemActivator();
AssignCommand(oPC, ActionStartConversation(oPC, "dialog")); //где dialog - название диалога для разговора
}

Все просто.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Celestial
сообщение Aug 18 2008, 22:09
Сообщение #473


Level 14
****

Класс: Обыватель
Характер: Lawful Neutral
Раса: Эльф



Спасибо, дружище!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tristar
сообщение Aug 23 2008, 20:26
Сообщение #474


Level 2
*

Класс: Монах
Характер: Lawful Neutral
Раса: Эльф



Еще раз по подробней, пожалуйста, как решить эту задачу (по возможности без редактирования 2да):?

Цитата
2. Делаем мечь "Лаликор":
Мечь по сеттингу - разговаривающий.
Как сделать так чтобы он при ударе по врангу с 20% вероятностью произносил фразу (текст всплывать должен) случайно выбранную из некого набора?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lorendroll
сообщение Aug 24 2008, 15:18
Сообщение #475


Level 9
***

Класс: Волшебник
Характер: Neutral Good
Раса: Эльф



Tristar, мне видится пока только один путь решения:
В скрипте NW_C2_DEFAULTD пиши следующее:

Neverwinter Script
void main()
{
    int nEvent = GetUserDefinedEventNumber();
    int iPercentage = 20;
   
    switch( nEvent )
    {   
       case EVENT_DAMAGED:
       {
          object oDamager = GetLastDamager();
          if (GetIsPC(oDamager) && GetTag(GetLastWeaponUsed(oDamager)) == "lalikor_sword")
          {
             if (d100() <= iPercentage)
             {
                switch (d10())
                {
                   case 1: FloatingTextStringOnCreature("1", oDamager); break;
                   case 2: FloatingTextStringOnCreature("2", oDamager); break;
                   case 3: FloatingTextStringOnCreature("3", oDamager); break;
                   case 4: FloatingTextStringOnCreature("4", oDamager); break;
                   case 5: FloatingTextStringOnCreature("5", oDamager); break;
                   case 6: FloatingTextStringOnCreature("6", oDamager); break;
                   case 7: FloatingTextStringOnCreature("7", oDamager); break;
                   case 8: FloatingTextStringOnCreature("8", oDamager); break;
                   case 9: FloatingTextStringOnCreature("9", oDamager); break;
                   case 10: FloatingTextStringOnCreature("10", oDamager); break;
                }
             }
          }
          break;
       }
    }   
}


Где iPercentage - процент наступления этого события, "lalikor_sword" - тег говорящего меча, а "1", "2", "3" в case'е - строки которые будут случайным образом всплывать над атакующим.

Сообщение отредактировал Lorendroll - Aug 24 2008, 15:20
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

34 страниц V  « < 17 18 19 20 21 > » 
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 26th April 2024 - 12:47