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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 146 147 148 149 150 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Lirulin
сообщение Jun 17 2008, 16:12
Сообщение #3676


Level 3
*

Класс: Клерик
Характер: Chaotic Good
Раса: Эльф



Цитата(Ilerien @ Jun 17 2008, 02:53) *
Нужны walkable тайловые кровати (IMG:style_emoticons/kolobok_light/smile.gif)

А сами тайлы при этом стандартные или тоже из хака?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lamonde
сообщение Jun 17 2008, 18:14
Сообщение #3677


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

Класс: Псионик
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [Sn]



Там может и есть все (много чего через поиск нашел), но вот ответа на вопрос, как сделать развитвления, я так и не получил.

Сделал, все, как в описании,
"мастеру" - номера строк "под-спеллов", а "под-спеллам" номер строки с мастером. В итоге получил 4 спелла, вместо одного.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 17 2008, 20:20
Сообщение #3678


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
А сами тайлы при этом стандартные или тоже из хака?
Из хака.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Jun 17 2008, 21:30
Сообщение #3679


Level 3
*

Класс: Обыватель
Характер: Neutral Good
Раса: Человек



Цитата(Ilerien @ Jun 12 2008, 14:35) *
Скрипт для триггера:
Neverwinter Script
void main()
{
    object oPC = GetEnteringObject();
    object oHench = GetHenchman(oPC);
    if(GetIsObjectValid(oHench) && GetIsPC(oPC))
    {
        AssignCommand(oHench, SpeakString("<слова хенча>"));
        DelayCommand(0.5f, AssignCommand(oPC, SpeakString("<слова игрока>")));
    }
}

Интересно, что когда с одним хенчем идешь, скрипт срабатывает и все ок, а вот если возьмешь двоих, молчат как рыбы. Где и как там приписать про то, чтобы говорил первый из хенчей?

Цитата(Ilerien @ Jun 16 2008, 23:53) *
На заход в модуль. Что с игроком произойдёт - это нужно вписать в блок.

Вот спасиб огромный!!!! Не хотелось как-то зверствовать и убивать героя прямо сразу. Тока вот как быть, если на EnterModule уже стоит какое-то условие? Как безболезненно соединять скрипты?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 17 2008, 22:18
Сообщение #3680


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Тока вот как быть, если на EnterModule уже стоит какое-то условие? Как безболезненно соединять скрипты?
Этот блок кинуть перед закрывающей скобкой функции main. Например.
Цитата
Интересно, что когда с одним хенчем идешь, скрипт срабатывает и все ок, а вот если возьмешь двоих, молчат как рыбы. Где и как там приписать про то, чтобы говорил первый из хенчей?
По идее там первый болтать и должен в любом случае. Припиши после описания переменных
Neverwinter Script
SendMessageToPC(oPC, GetName(oHench));
, это выведет в лог игроку имя первого хенча.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Jun 18 2008, 08:57
Сообщение #3681


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Там с хенчами какая-то хитрож... хитрость (IMG:style_emoticons/kolobok_light/smile.gif) Мел делала возможность присоединения нескольких хенчей, но забила. Если я не ошибаюсь, там постоянно их ид (номера) сбиваются и кажется даже идут не по порядку после нескольких присоединений/разделений. Т.е. имеем 2 хенча, делаем цикл ид от 1 до 2 и получаем OBJECT_INVALID два раза.

В общем, в граблях не уверен, но то, что мы их встретили - 100%.


P.S. А еще был такой замечательный модуль по сеттингу DragonLance, там хенчей штуки 3-4 было. Ух как они глючили...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lirulin
сообщение Jun 18 2008, 09:01
Сообщение #3682


Level 3
*

Класс: Клерик
Характер: Chaotic Good
Раса: Эльф



Цитата(denis0k @ Jun 18 2008, 11:57) *
P.S. А еще был такой замечательный модуль по сеттингу DragonLance, там хенчей штуки 3-4 было. Ух как они глючили...

А КАК они глючили? Ну, чтобы быть готовым к тому, что они могут выкинуть=) (а если помимо хенчей еще их и свои фамильяры и др. зверюшки? Это ж вовсе жуть=))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Jun 18 2008, 09:13
Сообщение #3683


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Цитата
А КАК они глючили? Ну, чтобы быть готовым к тому, что они могут выкинуть=)
Дело было давно и неправда, года 4 назад (IMG:style_emoticons/kolobok_light/smile.gif) Так что помню смутно.

Например, иногда они не слушались команд, теряли статус хенча (правый клик не показывал меню хенча, хотя они были в пати), ко всему этому они как любая компьютерная болванка ужасно тупили. Когда хенч один, он тупит как один, когда их 5 - этот зоопарк тупит в 5 раз сильнее (IMG:style_emoticons/kolobok_light/smile.gif) Я себя всегда представлял мамой-мартышкой из одного старого отечественного мультика. А когда кто-то из них умирал... Это словами не передать (IMG:style_emoticons/kolobok_light/smile.gif) Частые сейв-лоад как раз по-моему меняли их местами в пати и иногда ломали меню.


Все имхо из-за того, что множественные хенчи были добавлены в хоту через какой-то костыль. Изначально нвн под это не приспособлен.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Jun 18 2008, 15:21
Сообщение #3684


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

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



Попробуйте
Neverwinter Script
object oHench = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC, 1 или 2);
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Jun 18 2008, 15:59
Сообщение #3685


Level 3
*

Класс: Обыватель
Характер: Neutral Good
Раса: Человек



Цитата(Ilerien @ Jun 17 2008, 22:18) *
Этот блок кинуть перед закрывающей скобкой функции main. Например.По идее там первый болтать и должен в любом случае. Припиши после описания переменных
Neverwinter Script
SendMessageToPC(oPC, GetName(oHench));
, это выведет в лог игроку имя первого хенча.

Так вот не говорят они, ни один, ни другой. Как будто триггер не срабатывает вообще(IMG:style_emoticons/kolobok_light/sad.gif)

Цитата(azathoth @ Jun 18 2008, 15:21) *
Попробуйте
Neverwinter Script
object oHench = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC, 1 или 2);

А эту строку куда вставить? До функции в самое начало?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 18 2008, 16:41
Сообщение #3686


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Neverwinter Script
void main()
{
    object oPC = GetEnteringObject();
    object oHench = GetHenchman(oPC);
    if(GetIsObjectValid(oHench) && GetIsPC(oPC))
    {
        AssignCommand(oHench, SpeakString("<слова хенча>"));
        DelayCommand(0.5f, AssignCommand(oPC, SpeakString("<слова игрока>")));
    }

    //Дебаг: выведет имена хенчей от 1 до 20 (чтоб уж наверняка) в лог игроку, можно поэкспериментировать с этой штукой, юзая сейв/лоад и всё такое
    int i;
    for(i = 1; i <= 20; i++)
        SendMessageToPC(oPC, "Henchman №" + IntToString(i) + ": " + GetName(GetHenchman(oPC, i)));

}


Сообщение отредактировал Ilerien - Jun 18 2008, 16:42
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Jun 18 2008, 21:04
Сообщение #3687


Level 3
*

Класс: Обыватель
Характер: Neutral Good
Раса: Человек



Цитата(Ilerien @ Jun 18 2008, 16:41) *
Neverwinter Script
    //Дебаг: выведет имена хенчей от 1 до 20 (чтоб уж наверняка) в лог игроку, можно поэкспериментировать с этой штукой, юзая сейв/лоад и всё такое

Ну что ж, поэкспериментируем! Только вот где взять 20 хенчей? Их всего-то 14, и то не весь же зоопарк сразу нанимать=)))))
Вот еще одна фиговина. Мы не можем понять, почему визуальный эффект не проявляется никак?
Neverwinter Script
object oPlayer = GetPCSpeaker();

void main()
{
DestroyObject(OBJECT_SELF);
{
        object oBoss1 = CreateObject(OBJECT_TYPE_CREATURE,
                                    "alienhunter",
                                    GetLocation(GetNearestObjectByTag("WP_alienhunter")));
        DelayCommand(1.0,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectV
isualEffect(VFX_FNF_ELECTRIC_EXPLOSION),oBoss1));
        DelayCommand(1.3,ActionDoCommand(SetFacingPoint(GetPosition(oPlaye
r))));
        DelayCommand(1.5,AssignCommand(oBoss1,SetFacingPoint(GetPosition(OBJECT_SELF))));
    }
}

Там один объект исчезает, на его месте возникает другой. Должен бы с эффектом, но он просто вылазит и все! А ПС вообще на него внимания не обращает. Чем ему этот новый объект не нравится, не поймем. Помогите, плиз!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 18 2008, 22:03
Сообщение #3688


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Ну что ж, поэкспериментируем! Только вот где взять 20 хенчей? Их всего-то 14, и то не весь же зоопарк сразу нанимать=)))))
Да не важно, сколько их будет, эта штука отловит номер каждого хенча (IMG:style_emoticons/kolobok_light/smile.gif)
Цитата
Должен бы с эффектом, но он просто вылазит и все!
Neverwinter Script
void main()
{
    DestroyObject(OBJECT_SELF);
    object oPlayer = GetPCSpeaker();

    object oBoss1 = CreateObject(OBJECT_TYPE_CREATURE,
                                    "alienhunter",
                                    GetLocation(GetNearestObjectByTag("WP_alienhunter")));

    DelayCommand(1.0, AssignCommand(GetModule(), ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectV
isualEffect(VFX_FNF_ELECTRIC_EXPLOSION),oBoss1)));
    DelayCommand(1.3, ActionDoCommand(SetFacingPoint(GetPosition(oPlaye
r)))); // не понял смысла этой строчки (IMG:style_emoticons/kolobok_light/smile.gif)
    DelayCommand(1.5, AssignCommand(oBoss1, SetFacingPoint(GetPosition(OBJECT_SELF)))); // и этой тоже...
   
}

Что мы сделали? Перекинули заделеенные команды на модуль. В старом варианте объект убивался, а после этого через некоторое время он пытался выполнить функцию ApplyEffectToObject. Любая скриптовая команда выполняется определённым объектом, а когда этого объекта в природе уже нет, команда не выполняется.

Сообщение отредактировал Ilerien - Jun 18 2008, 22:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Jun 18 2008, 23:18
Сообщение #3689


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



GetAssociate() мы и пробовали. GetHenchman() скорее всего просто морда к GetAssociate(), смысла нет разводить зоопарк одинаковых функций в движке. Жаль хистори крякнулась после очередного отключения света, нашел бы логи (IMG:style_emoticons/kolobok_light/smile.gif)


Кстати, тот эксперимент надо проводить и сразу после взятия хенчей, и после пары операций удаления-взятия.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Jun 19 2008, 10:43
Сообщение #3690


Level 3
*

Класс: Обыватель
Характер: Neutral Good
Раса: Человек



Цитата(Ilerien @ Jun 18 2008, 22:03) *
Да не важно, сколько их будет, эта штука отловит номер каждого хенча (IMG:style_emoticons/kolobok_light/smile.gif)
Neverwinter Script
void main()
{
... DelayCommand(1.3, ActionDoCommand(SetFacingPoint(GetPosition(oPlaye
r)))); // не понял смысла этой строчки (IMG:style_emoticons/kolobok_light/smile.gif)
    DelayCommand(1.5, AssignCommand(oBoss1, SetFacingPoint(GetPosition(OBJECT_SELF)))); // и этой тоже...
   
}

Что мы сделали? Перекинули заделеенные команды на модуль. В старом варианте объект убивался, а после этого через некоторое время он пытался выполнить функцию ApplyEffectToObject. Любая скриптовая команда выполняется определённым объектом, а когда этого объекта в природе уже нет, команда не выполняется.

Смысел этих двух строчек в том, что игрок и объект новый отворачиваются друг от друга, а надо чтобы лицом к лицу (точнее лицом к морде=)))). Если на новоявленный объект строка срабатывает, то вот РС-зараза заканчивает диалог с предыдущим существом, а потом поворачивается боком или спиной (в зависимости от своего желания видимо) к новому объекту.
А за объяснения про то, что скрипт относится к старому объекту - спасибо! Были подозрения на этот счет, но мы не поняли, как поменять тогда. Теперь пойдем пробовать=)))))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jun 19 2008, 12:24
Сообщение #3691


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

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



Цитата(Ilerien @ Jun 18 2008, 23:03) *
Что мы сделали? Перекинули заделеенные команды на модуль. В старом варианте объект убивался, а после этого через некоторое время он пытался выполнить функцию ApplyEffectToObject.

Ой-ли! Чтобы перекинуть команды на модуль, нужно пробить сразу ассинг, а потом только делай... Иначе Делай остается за объектом сельф...
Второй нюанс. Если кидаешь вектор поворота на модуль, то GetPosition(OBJECT_SELF) чез 1.5 секунд уже не существует... Нужно вектор пробить сразу.
Третий нюанс. Желательно еффекты сразу задавать, а не совать их в функцию, т.к. могут быть баги на некоторых эффектах, особенно на смерть...
Четвертый нюанс. Если пишем большой скрипт на дестроющемся НПС, то лучше кинуть сигнал и через OnUserDefined там все пробить. Тогда не нужно пробивать команды на модуль, или еще кого...
Вот как примерно должен выглядеть твой скрипт:
Neverwinter Script
void main()
{
DestroyObject(OBJECT_SELF);
object oPlayer = GetPCSpeaker();
object oMod = GetModule();
object oBoss1 = CreateObject(OBJECT_TYPE_CREATURE, "alienhunter", GetLocation(GetNearestObjectByTag("WP_alienhunter")));
effect eVis = EffectVisualEffect(VFX_FNF_ELECTRIC_EXPLOSION);
vector vFace = GetPosition(OBJECT_SELF);

AssignCommand(oMod, DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oBo
ss1)));
AssignCommand(oMod, DelayCommand(1.3, AssignCommand(oBoss1, SetFacingPoint(vFace))));
AssignCommand(oMod, DelayCommand(1.5, AssignCommand(oPlayer, SetFacingPoint(GetPosition(oBoss1)))));
AssignCommand(oMod, DelayCommand(1.5, AssignCommand(oBoss1, SpeakString("Я родилсЯ!"))));
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 19 2008, 14:34
Сообщение #3692


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Ой-ли! Чтобы перекинуть команды на модуль, нужно пробить сразу ассинг, а потом только делай... Иначе Делай остается за объектом сельф...
По логике делей сразу выполнится объектом, до завершения скрипта и срабатывания DestroyObject. Надо тестить, мб ты и прав (IMG:style_emoticons/kolobok_light/wink3.gif)

Сообщение отредактировал Ilerien - Jun 19 2008, 14:46
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Jun 19 2008, 16:39
Сообщение #3693


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

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



Цитата
По логике делей сразу выполнится объектом

конечно выполнится (IMG:style_emoticons/kolobok_light/smile.gif) и установит задержку, только вот велики шансы на то, что эта задержка пропадёт вместе с объектом (IMG:style_emoticons/kolobok_light/wink3.gif)

подпишусь под каждым словом gennady, кроме одного - OnUserDefined даже биоварями признаётся глючным. Оно хоть и прекрасно работает в большнистве случаев, но лучше обойтись.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lirulin
сообщение Jun 19 2008, 17:21
Сообщение #3694


Level 3
*

Класс: Клерик
Характер: Chaotic Good
Раса: Эльф



А как вообще быть, если object'ов несколько? По-моему, компиллятор это не любит, ругается=) Матом=) Как правильно задать двум разным объектам в пределах одного скрипта разные действия? Когда я попробовал механически соединять два скрипта, все object'ы выписав в начале, у меня выходил фиг!=(
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 19 2008, 18:11
Сообщение #3695


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Если ты про переменные, то хоть сколько. Не знаю, сколько максимально памяти движок выделяет под локальные переменные скрипта, но обжектов можно напихать под завязку.
Цитата
конечно выполнится и установит задержку, только вот велики шансы на то, что эта задержка пропадёт вместе с объектом
Логично (IMG:style_emoticons/kolobok_light/smile.gif) Потестю - расскажу (IMG:style_emoticons/kolobok_light/wink3.gif)

Сообщение отредактировал Ilerien - Jun 19 2008, 18:11
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lirulin
сообщение Jun 19 2008, 18:19
Сообщение #3696


Level 3
*

Класс: Клерик
Характер: Chaotic Good
Раса: Эльф



Вопрос № следующий:
как это
Neverwinter Script
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDa
mage(GetCurrentHitPoints(oPlayer)/2),oPlayer,0.5f);

преобразовать, чтоб забирало не половину жизни, а скажем... 90%. Или еще сколько-нить этих процентов.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 19 2008, 18:47
Сообщение #3697


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Neverwinter Script
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(FloatToInt(GetCurrentHitPoints(oPlaye
r) * 0.9)), oPlayer);//не понял, зачем тут длительность, всё равно эффект мгновенный
Можно было и самому догадаться...

Сообщение отредактировал Ilerien - Jun 19 2008, 18:48
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lirulin
сообщение Jun 19 2008, 20:11
Сообщение #3698


Level 3
*

Класс: Клерик
Характер: Chaotic Good
Раса: Эльф



Гр-р-р...=(( Иногда все тупят. Но это не мешает мне сказать спасибо=)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Jun 19 2008, 21:00
Сообщение #3699


Level 3
*

Класс: Обыватель
Характер: Neutral Good
Раса: Человек



Знаете чего, пиплы! Вы супер! Спасибо вам всем за то, что даете много вариантов и объясняете для нас, ньюбов, чего к чему! Мы знакомы всего неделю, а уже прогресс виден. Сами даже чего-то понимаем и делаем=)))))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Jun 19 2008, 23:54
Сообщение #3700


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Все еще надеюсь левелапнуть своего хенчмена.
Цитата(denis0k @ Jun 7 2008, 20:17) *
Надо копаться, пробовать разные варианты (IMG:style_emoticons/kolobok_light/smile.gif)
1. Убрать скриптово плот и иммортал флаги.
2. Перекинуть дестрой на модуль: assigncommand(getmodule(), destroy...).
3. Попробовать отложенное удаление через пару секунд.

Вот это не проходит ни в какую. Не работает, хоть убейся.
Цитата(denis0k @ Jun 7 2008, 20:17) *
4. Кардинально - не удалять, а именно апать и переодевать.

А это как? Можно поподробнее?

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 146 147 148 149 150 > » 
Ответить в эту темуОткрыть новую тему
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28th April 2025 - 19:47