Рыцарская Сага

Главная Регистрация Вход
Воскресенье, 19.11.2017, 08:12

Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 4«1234»
Форум Рыцарская Сага » Список форумов » Neverwinter Nights Aurora Toolset » Вопросы новичков (все вопросы по созданию модулей)
Вопросы новичков
RemmДата: Среда, 18.12.2013, 20:19 | Сообщение # 21
Паладин
Группа: Администраторы
Сообщений: 150
Репутация: 9
Статус: Offline
Цитата ShadowOW ()
У меня снова идиотский вопрос: " Как избежать эффекта, когда НПС говорит одну и ту же фразу по 10 раз.

Тут есть несколько способов. Всё зависит от построения диалога. Можно кинуть на ветки НПС скрипт случайного появления. Можно на базе блоков скриптов прописать круговой проход веток диалога. Можно скриптом задать случайные токены для ветки НПСа. А можно сделать просто диалог с обычными проверками, первый второй третий...
Вот пример скрипта для случайного появления ветки диалога:
Код
//::///////////////////////////////////////////////
//:: FileName: prov_50x100
//:://////////////////////////////////////////////
int StartingConditional()
{
     if(Random(100) >= 50)
     return FALSE;
     return TRUE;
}

Цитата ShadowOW ()
И еще одна вещь - Очень хочу добавить в игру свою музыку. И не только в игру но и в модуль, чтобы можно было на созданной локации запилить свой саундтрек, чтобы он "согревал" сердце

Цитата ShadowOW ()
А WordPadom 2da файл не открывается....
Эти файлы можно открыть блокнотом, Notepad++, WordPad
Ну и еще раз почитать http://remmgen.narod.ru/thak.html
Цитата ShadowOW ()
Да и еще, как сделать, чтобы НПС при разговоре с персонажем в конце своей реплики исчезал. Желательно с эффектом. Телепортировался или еще, что-то...

Попробуйте использовать наш универсальный скрипт из Саги:
Код
//::///////////////////////////////////////
//:: УНИВЕРСАЛЬНОЕ ПЕРЕМЕЩЕНИЕ СУЩЕСТВА
//:: Created By: Gennady
//:: FileName: p_object
//:://////////////////////////////////////
void main()
{
    object oPC = GetFirstPC();
    object oSelf = OBJECT_SELF;
    object oPoint1 = GetObjectByTag("TROP_"+ GetTag(oSelf));
    object oPoint2 = GetNearestObjectByTag("EXIT_"+ GetTag(oSelf));
    object oDoor = GetNearestObject(OBJECT_TYPE_DOOR, oPoint2);
    location LOC = GetLocation(oSelf);
    effect eJump = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3);
    int INTEL = GetAbilityScore(oSelf, ABILITY_INTELLIGENCE);

//***** БЛОКИРОВКА ГЕРОЯ  ******
AssignCommand(oPC, ClearAllActions());
AssignCommand(oPC, ActionWait(12.0));
AssignCommand(oPC, ActionDoCommand(SetCommandable(TRUE, oPC))); // разблокировать
DelayCommand(0.1, SetCommandable(FALSE, oPC)); // заблокировать
//*******************************
     AssignCommand(oSelf, ClearAllActions());
     DelayCommand(0.1, SetCommandable(FALSE, oSelf)); // заблокировать
     DelayCommand(12.0, SetCommandable(TRUE, oSelf)); // разблокировать
     DelayCommand(12.0, SetCommandable(TRUE, oPC)); // разблокировать

     if (GetIsObjectValid(oPoint1))
      {
       if(INTEL != 4)
       AssignCommand(oSelf, SpeakString("До встречи!"));
       if (GetIsObjectValid(oPoint2))
       {
        AssignCommand(oSelf, ActionForceMoveToObject(oPoint2, FALSE, 0.0, 10.0));
        if(GetDistanceBetween(oDoor, oPoint2)< 3.0 && GetLocked(oDoor)==FALSE)
         {
          AssignCommand(oSelf, ActionOpenDoor(oDoor));
          AssignCommand(oSelf, ActionWait(2.0));
         }
        AssignCommand(oSelf, ActionDoCommand(SetCommandable(TRUE, oPC))); // разблокировать
        AssignCommand(oSelf, ActionJumpToObject(oPoint1));
        return;
       }
       ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eJump, LOC);
       DelayCommand(3.0, SetCommandable(TRUE, oPC)); // разблокировать
       AssignCommand(oSelf, ActionWait(3.0));
       AssignCommand(oSelf, ActionDoCommand(SetCommandable(TRUE, oSelf)));
       AssignCommand(oSelf, ActionJumpToObject(oPoint1));
       return;
      }
     else   // Если нет точки, то удалить существо
       {
        if(INTEL != 4)
        SpeakString("Прощай!");
        AssignCommand(oSelf, SetIsDestroyable(TRUE, TRUE, TRUE));
        if (GetIsObjectValid(oPoint2))
        {
        AssignCommand(oSelf, ActionForceMoveToObject(oPoint2, FALSE, 0.0, 10.0));
        if(GetDistanceBetween(oDoor, oPoint2)< 3.0 && GetLocked(oDoor)==FALSE)
         {
          AssignCommand(oSelf, ActionOpenDoor(oDoor));
          AssignCommand(oSelf, ActionWait(2.0));
         }
        AssignCommand(oSelf, ActionDoCommand(SetCommandable(TRUE, oPC))); // разблокировать
        AssignCommand(oSelf, ActionDoCommand(DestroyObject(oSelf)));
        return;
        }
        DelayCommand(3.0, SetCommandable(TRUE, oPC)); // разблокировать
        DestroyObject(oSelf, 3.2);
        ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eJump, LOC);
       }
}
/* Если есть точка "TROP_"+тэг ПС, то идет прыжок  к этой точке с эффектом.
      Если при этом есть точка "EXIT_"+тэг ПС, то ПС уходит к этой точке
      и прыгает к точке "TROP_"+тэг ПС без эффекта.
      Если нет точки "TROP_"+тэг ПС, то ПС удаляется с эффектом.
      Если при этом есть точка "EXIT_"+тэг ПС, то ПС идет к этой точке
      и удаляется без эффекта
      Если интеллект равен 4, то фраз не будет.  */


Модмейкер
Рыцарская Сага
 
ShadowOWДата: Суббота, 21.12.2013, 10:12 | Сообщение # 22
Оруженосец
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Offline
1 * Снова прошу вас о помощи))). Я почему-то не могу открыть инвентарь моего  спутника. При попытке открыть инвентарь - появляется надпись:" Вы не можете просматривать содержимое инвентаря копманьона." Походу не прописан какой-то скрипт?
2 *  Вам наверное задавали этот вопрос тысячу раз, но я повторюсь: " Как сделать так, чтобы Нпс мог садиться на стул? Я прописал скрипт в свойствах предмета в строке OnUsed, а также, сделал предмет юзабельным, но почему-то никто не садиться на этот стул и я даже не могу по нему кликнуть. Хотя с остальными предметами (которые я сделал активными и плюс прописал к ним диалог) - все нормально. Пожалуйста объясните, что я сделал не так и что надо сделать.
3* Я хочу, чтобы при "наступании"  главного героя на определенный тригер, определенный НПС  подбегал к нему и начинал диалог. Как это сделать? Я взял один из готовых скриптов, кинул его на тригер, но главный герой почему-то подбегает совсем не к тому Нпс, к которому задумывалось. ( Хотя Тег объекта НПС я проверял не раз, но похоже я все же  где-то "натупил") 
4 И самое сложное для меня- Я хочу, чтобы происходило определенное действие в комнате, сейчас объясню:
Есть комната, в ней три объекта (Песочные часы), с ними стартует диалог. В комнате есть дверь - она заперта. На каждом объекте(Песочные часы) 3 реплики: " Зажечь постамент желтым цветом/красным/синим". Как сделать так, чтобы при соблюдении условия - один объект горит синим, один желтым, а другой красным - запертая дверь открывалась. А при условии, что все три объекта горят одинаковыми цветами, появлялись монстры. Каждый раз разные. ( Допустим при (Все желтые: три огненных элементаля), (Все красные: три особых огненных элементаля из моей палитры), я их предварительно создам, и ( Все синие: три водных элементаля) Я кстати, че-то запамятовал, есть ли элементы воды в Невере?
Да и как сделать реально, чтобы постамент загорался определенным цветом? (ну видимый эффект)
И самый мой ГЛАВНЫЙ ВОПРОС: " Можно ли снять ограничение героя на максимальный уровень героя (то есть 40), а то ведь, НПС сумарно могут иметь 150 уровень (50 уровень у каждого из 3 мультиклассов). Если можно, то как?
5* Можно ли поменять цвет у заклинания (эффект) Ну например: Обычный Шквал Исака (ракетки синего цвета, а мне надо красные) Можно ли создать собственное заклинание?( Немного отличающееся от заклинаний из стандартной палитры) Ну, например, чтобы при его изучении во врага сразу летело 3 огненных шара( пурпурного цвета). 
И ловушки: Мне надо, чтобы при прохождении ГГ определенного тригера( я его поставлю) из стоящей напротив статуи в него били молния. ну или цепная молния.
Спасибо за все предыдущие ответы - благодаря вам - мой безжизненный модуль потихоньку оживает. Но пока "пациент" скорее мертв, чем жив.
Буду ждать каждого вашего ответа. 
Еще раз спасибо вам Remm....

Добавлено (21.12.2013, 09:27)
---------------------------------------------
Вот в моей голове созрел новый вопрос.
Я хочу озвучить все свои диалоги. Как это сделать?
Вообще, как прицепить озвучку к определенной строке?
А, еще кое-что, мне надо, чтобы при разговоре 2 ну или 3 Нпс между собой, они поворачивались и смотрели друг на друга, а не непонятно куда....
Надо ставить на них невидимый тригер?

Добавлено (21.12.2013, 10:12)
---------------------------------------------
Напишите, пожалуйста скрипт, при котором проверяется определенное количество денег в инвентаря героя.
например, если количество золота в инвентаре больше или равно 500 золотых, то появляется определенная строка с диалогом.
Заранее спасибо.

 
RemmДата: Суббота, 21.12.2013, 21:04 | Сообщение # 23
Паладин
Группа: Администраторы
Сообщений: 150
Репутация: 9
Статус: Offline
Цитата ShadowOW ()
почему-то не могу открыть инвентарь моего  спутника. При попытке открыть инвентарь - появляется надпись:" Вы не можете просматривать содержимое инвентаря копманьона." Походу не прописан какой-то скрипт?

Походу да. Для спутника нужны особые скрипты, читайте по ссылке: http://remmgen.narod.ru/tmonster.html
Там и про инвентарь спутника написано...
Цитата ShadowOW ()
Как сделать так, чтобы Нпс мог садиться на стул?
Про это на той же странице немного ниже...

Цитата ShadowOW ()
Я хочу, чтобы при "наступании"  главного героя на определенный тригер, определенный НПС  подбегал к нему и начинал диалог. Как это сделать? Я взял один из готовых скриптов, кинул его на тригер, но главный герой почему-то подбегает совсем не к тому Нпс, к которому задумывалось.
На странице http://remmgen.narod.ru/ttrigger.html есть наш скрипт из мода на эту тему.
Цитата ShadowOW ()
И самый мой ГЛАВНЫЙ ВОПРОС: " Можно ли снять ограничение героя на максимальный уровень героя (то есть 40), а то ведь, НПС сумарно могут иметь 150 уровень (50 уровень у каждого из 3 мультиклассов). Если можно, то как?
Думаю нет...
Цитата ShadowOW ()
4 И самое сложное для меня- Я хочу, чтобы происходило определенное действие в комнате, сейчас объясню:

Я что-то подобное делал во 2 моде Саги. См. скрипт tile_svet
На остальное отвечу завтра, если время будет...


Модмейкер
Рыцарская Сага
 
RemmДата: Воскресенье, 22.12.2013, 21:55 | Сообщение # 24
Паладин
Группа: Администраторы
Сообщений: 150
Репутация: 9
Статус: Offline
Цитата ShadowOW ()
5* Можно ли поменять цвет у заклинания (эффект)
Можно, но сложно... Я сам не знаю, спросите на форуме WRG
Цитата ShadowOW ()
Я хочу озвучить все свои диалоги. Как это сделать?
Вообще, как прицепить озвучку к определенной строке?

С этим все просто. В редакторе диалога открываем вкладку "Другие действия" и в строке Играть звук имя файла. Там же есть кнопка прослушки данного файла.
Цитата ShadowOW ()
А, еще кое-что, мне надо, чтобы при разговоре 2 ну или 3 Нпс между собой, они поворачивались и смотрели друг на друга, а не непонятно куда....
Тут нужно писать скрипт на действие и поворачивать НПС в нужные стороны с помощью команды
Код
AssignCommand(oNPC1, SetFacingPoint(GetPosition(oNPC2)));

Цитата ShadowOW ()
Напишите, пожалуйста скрипт, при котором проверяется определенное количество денег в инвентаря героя.
например, если количество золота в инвентаре больше или равно 500 золотых, то появляется определенная строка с диалогом.

Тут всё просто. Ставим подобный скрипт на нужную ветку диалога в слот "Текст появляется при"
Код
//::///////////////////////////////////////////////
//:: Проверить есть ли у говорящего 500 золотых
//:://////////////////////////////////////////////
int StartingConditional()
{
object oPC = GetPCSpeaker();
int iGold = GetGold(oPC);//все золото

if(iGold >= 500)
return TRUE;
return FALSE;
}


Модмейкер
Рыцарская Сага
 
ShadowOWДата: Вторник, 24.12.2013, 18:46 | Сообщение # 25
Оруженосец
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Offline
Спасибо вам огромное!)

Добавлено (24.12.2013, 18:37)
---------------------------------------------
Скажите пожалуйста, можно ли перед началом собственного созданного модуля запустить видеоролик? И если можно, то как? В каком формате должно быть видео....
Подойдет ли простое видео, созданное в программе Windows Move Maker?

Добавлено (24.12.2013, 18:39)
---------------------------------------------
Вдогонку, можно ли снять ограничение на количество спутников в отряде? Так как, если у тебя в отряде уже имеется 1 спутник (Newerwinter Nights), то появляется сообщение, что вы не можете иметь более одного компаньона в отряде...

Добавлено (24.12.2013, 18:46)
---------------------------------------------
Как добавить собственную 3d модель, созданную в 3dМаксе в модуль? 
Я заметил, что когда озвучиваешь диалог и кидаешь файл озвучки реплики собственного персонажа (ГГ), то он не говорит...с НПС все в порядке, все работает, а ГГ почему-то упорно не произносит собственную реплику. Я где-то туплю, или в NwN нельзя озвучить реплики ГГ?
Как можно сразу посадить НПС на лошадь и можно ли вообще? Я видел - в Невере есть скил езды на лошаде.....

 
RemmДата: Вторник, 24.12.2013, 20:46 | Сообщение # 26
Паладин
Группа: Администраторы
Сообщений: 150
Репутация: 9
Статус: Offline
Цитата ShadowOW ()
Скажите пожалуйста, можно ли перед началом собственного созданного модуля запустить видеоролик? И если можно, то как? В каком формате должно быть видео....
Открываем: Модульные свойства - Улучшенный. Там есть слод для стартового ролика. Формат смотрите сами...
Цитата ShadowOW ()
Вдогонку, можно ли снять ограничение на количество спутников в отряде?

Запустите с любого скрипта функцию
Код
// Sets the maximum number of henchmen
void SetMaxHenchmen( int nNumHenchmen )

Цитата ShadowOW ()
Как добавить собственную 3d модель, созданную в 3dМаксе в модуль?

Никогда не делал... Почитайте тут: http://nwnmod.narod.ru/stat_lce_blade_2.htm
Цитата ShadowOW ()
Я заметил, что когда озвучиваешь диалог и кидаешь файл озвучки реплики собственного персонажа (ГГ), то он не говорит...с НПС все в порядке, все работает, а ГГ почему-то упорно не произносит собственную реплику. Я где-то туплю, или в NwN нельзя озвучить реплики ГГ?
Правильно заметили. Слот в редакторе диалога служит только для НПС, т.к. при создании героя игрок сам выбирает его голос и было бы странно если бы он заговорил вашим... Можно записать набор скриптов с функций для героя:
Код
// Play a voice chat.
// - nVoiceChatID: VOICE_CHAT_*
// - oTarget
void PlayVoiceChat(int nVoiceChatID, object oTarget=OBJECT_SELF)
Цитата ShadowOW ()
Как можно сразу посадить НПС на лошадь и можно ли вообще? Я видел - в Невере есть скил езды на лошаде.....
В версии 1,69 есть такая возможность, я уж точно и не помню, но для НПС там все просто, вроде на вкладке где выбор хвостов...


Модмейкер
Рыцарская Сага
 
ShadowOWДата: Среда, 25.12.2013, 23:55 | Сообщение # 27
Оруженосец
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Offline
Такс....при попытке посадить НПС на лошадь произошел казус.....Да - вы все правильно сказали - лошадки находятся во вкладке улучшенный--хвосты, но теперь другая проблема. Вместо того, чтобы НПС был на лошади - лошадь вешается на НПС. То есть, фигурка лошади висит НАД НПС, как бы в воздухе. И НПС двигается вместе с ней - это нечто - просто эпичный фейл. 
Вопрос - ЭТО БАГ?
Моя версия Невера: 1.69.8109
И портреты не добавляются - просто беда какая-то. Я делаю все точно так, как написано у вас на сайте- создаю хак (Shadow.hak) , открываю portraits.2da блокнотом. Прописываю туда свой созданный портрет в формате .tga (po_hu_m_500) - про(****) звездочки я не забыл и прописываю без Po!. Потом кидаю свой 2.da в Shadow.hak, вместе со своим po_hu_m_500_H.tga ( он в несжатом формате - все как надо, 24 bit) Потом добавляю хак в свойство модуля. 
И - ничего не происходит - портрет не появляется.
Я пробовал кидать портреты и в папку overrade - тоже никакого эффекта.
Помогите пожалуйста - очень хочется добавить свои портреты в игру.

Добавлено (25.12.2013, 23:55)
---------------------------------------------
Еще вопрос - как запустить диалог с дверь? Со всеми другими объектами получается, а на двери нет слота OnUsed....
Я кидаю скрипт начала диалога во вкладку OnSpellCast - кастую на дверь заклин - никакого эффекта. Дверь стоит - типо барьер из молний. Первоначальное состояние закрытый. Как сделать так, чтобы например при костовании на дверь заклинания Луч холода - она открывалась?

 
RemmДата: Четверг, 26.12.2013, 12:58 | Сообщение # 28
Паладин
Группа: Администраторы
Сообщений: 150
Репутация: 9
Статус: Offline
Цитата ShadowOW ()
Такс....при попытке посадить НПС на лошадь произошел казус.....Да - вы все правильно сказали - лошадки находятся во вкладке улучшенный--хвосты, но теперь другая проблема. Вместо того, чтобы НПС был на лошади - лошадь вешается на НПС. То есть, фигурка лошади висит НАД НПС, как бы в воздухе. И НПС двигается вместе с ней - это нечто - просто эпичный фейл.
эти хвосты-лошади кажется только для отдельных фигурок, кои настраивается вид.
Цитата ShadowOW ()
И портреты не добавляются - просто беда какая-то.
проверьте подсоединен ли у вас нужный хак к модулю. Если да, то нужны все 5 файлов для одного портрета...
Цитата ShadowOW ()
Еще вопрос - как запустить диалог с дверь?

Читайте - тут все описано: http://remmgen.narod.ru/tdoor.html


Модмейкер
Рыцарская Сага
 
ShadowOWДата: Четверг, 26.12.2013, 22:18 | Сообщение # 29
Оруженосец
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Offline
Помогите!!!!!Срочно нужна помощь! 
У меня почему-то перестали работать все скрипты. 
Вчера - все было нормально. 
Теперь у любого скрипта выделяет первую строку и пишет:
Error. 'at_039' did not compile.
at_039.nss(11): ERROR: UNDEFINED IDENTIFIER (GiveXPToCreature) / Ошибка. 'at_039' не компиляции.
at_039.nss (11): ОШИБКА: Неопределенный идентификатор (GiveXPToCreature)
(Я взял пример скрипт на дачу опыта)
*** Патч от DumBO не помог.......
Причем непонятно - я ничего не делал - просто сегодня все вдруг перестало пахать 
Просто беда и печаль.......
 
RemmДата: Пятница, 27.12.2013, 18:10 | Сообщение # 30
Паладин
Группа: Администраторы
Сообщений: 150
Репутация: 9
Статус: Offline
Увы, тут медецына бессильна... pardon Моя не знает, что там у вас глюкануло...

Модмейкер
Рыцарская Сага
 
ShadowOWДата: Пятница, 27.12.2013, 19:26 | Сообщение # 31
Оруженосец
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Offline
А все - проблему решил. Вчера закачались новые обновления для Windows 7 они походу чета добавили в реестр. Сегодня снова какие-то обновления для системы закачались. Я поставил патч Dombo + ваш патч, который вы мне дали (Вирусмановский). Перезагрузился - ВСЕ ЗАРАБОТАЛО!!!!!!! yahoo

Добавлено (27.12.2013, 19:26)
---------------------------------------------
Так вопрос. Как в диалоге добавить точку на карте? Чтоб типо отмечались точки перехода в другие локации?

 
RemmДата: Суббота, 28.12.2013, 09:08 | Сообщение # 32
Паладин
Группа: Администраторы
Сообщений: 150
Репутация: 9
Статус: Offline
Цитата ShadowOW ()
Как в диалоге добавить точку на карте? Чтоб типо отмечались точки перехода в другие локации?

Код
//::///////////////////////////////////////////////
//:: ДОБАВИТЬ ЗАМЕТКУ НА КАРТУ
//:: FileName: open_metka
//:://////////////////////////////////////////////
void main()
{
  object oMetka = GetObjectByTag("KAR_" + GetTag(OBJECT_SELF));
  if(GetIsObjectValid(oMetka) )
  {
   SetMapPinEnabled(oMetka, 1);
   SendMessageToPC(GetPCSpeaker(), "Заметка добавлена на карту области.");
  }
}


Модмейкер
Рыцарская Сага
 
ShadowOWДата: Вторник, 31.12.2013, 23:45 | Сообщение # 33
Оруженосец
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Offline
Так, а как запретить игроку возможность респауна? Ну чтобы ГГ не мог возрождаться? Типо, погиб и все - только загрузка.....
 
RemmДата: Среда, 01.01.2014, 16:42 | Сообщение # 34
Паладин
Группа: Администраторы
Сообщений: 150
Репутация: 9
Статус: Offline
В свойствах модуля в слот смерти поставьте подобный скрипт

Код
void main()
{
  object oPlayer = GetLastPlayerDied();
  string sDeathMessage = "Ваш персонаж погиб. Загрузите игру на последней записи или автосохранении.";

  DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_DEATH), oPlayer));
  DelayCommand(4.0, PopUpDeathGUIPanel(oPlayer, FALSE, TRUE, 0, sDeathMessage));
}


Модмейкер
Рыцарская Сага
 
ShadowOWДата: Воскресенье, 05.01.2014, 11:11 | Сообщение # 35
Оруженосец
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Offline
Спасибо))

Добавлено (05.01.2014, 11:11)
---------------------------------------------
Снова прошу вашей помощи.
Я хочу сделать камень, который бы портал меня в созданную мной область (что-то наподобии Другого Плана в Балдурс Гайт 2 Трон Бала), то есть, каждый раз, когда я хочу переместиться в эту арену - я просто должен нажать на камень. Как это осуществить?
И вот еще что...
Там я сделал статую, она должна вызывать одного из героев древности(я предварительно создал их в палитре)
КАк это осуществить? То есть при разговоре со статуей и требовании, чтобы она возвратила к жизни (вызвала) того или иного героя, он появлялся рядом со статуей?Ну и я конечно прописал диалог, в котором он впоследствии присоединиться со мной в группу.

 
RemmДата: Воскресенье, 05.01.2014, 11:57 | Сообщение # 36
Паладин
Группа: Администраторы
Сообщений: 150
Репутация: 9
Статус: Offline
Цитата ShadowOW ()
Я хочу сделать камень, который бы портал меня в созданную мной область (что-то наподобии Другого Плана в Балдурс Гайт 2 Трон Бала), то есть, каждый раз, когда я хочу переместиться в эту арену - я просто должен нажать на камень. Как это осуществить?
Нужно выбрать для такой вещи свойство Активировать предмет, или Уникальная сила - только для себя, и прописать необходимые свойства в скрипте слота OnActivateItem для модуля. И смотрим скрипт перемещения на странице: http://remmgen.narod.ru/tmodul.html 
Цитата ShadowOW ()
То есть при разговоре со статуей и требовании, чтобы она возвратила к жизни (вызвала) того или иного героя, он появлялся рядом со статуей?
Тут важно знать, что произошло с героем, т.е. он погиб или нужно просто вызвать с палитры...


Модмейкер
Рыцарская Сага
 
ShadowOWДата: Воскресенье, 05.01.2014, 13:52 | Сообщение # 37
Оруженосец
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Offline
Да и кстати, мне по прежнему не удается взять в команду более одного спутника.
Я прописал то, что вы мне сказали в одном из своих скриптов - он не компилируется почему-то...
Может, я вас неправильно понял? 
Куда надо это писать? 
// Sets the maximum number of henchmen 
void SetMaxHenchmen( int nNumHenchmen ) 
Я прописал это в обычный скрипт на void man()
Толку никакого.......

Добавлено (05.01.2014, 13:52)
---------------------------------------------
Тут важно знать, что произошло с героем, т.е. он погиб или нужно просто вызвать с палитры... 

Просто вызвать из палитры надо. Типо набор в группу)

 
RemmДата: Воскресенье, 05.01.2014, 20:00 | Сообщение # 38
Паладин
Группа: Администраторы
Сообщений: 150
Репутация: 9
Статус: Offline
Цитата ShadowOW ()
Просто вызвать из палитры надо. Типо набор в группу)
Существо или плейс перемещается из палитры
object oWP = GetWaypointByTag("WP_");
location Loc = GetLocation(oWP);
CreateObject(OBJECT_TYPE_CREATURE, "ResRef", Loc, FALSE, "newTag"); // Существо
CreateObject(OBJECT_TYPE_PLACEABLE, "ResRef", Loc, FALSE, "newTag"); // Объект
Цитата ShadowOW ()
Да и кстати, мне по прежнему не удается взять в команду более одного спутника.
Поставьте на ветку присоединения спутника скрипт:

Код
void main()
{
    object oPC = GetPCSpeaker();
    object oNPC = GetFirstObjectInArea(oPC);
    int iSP = 1;

    SetMaxHenchmen(2); // число спутников

    while (GetIsObjectValid(oNPC))
    {
     if (oNPC == GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC, iSP))
     iSP++;
     oNPC = GetNextObjectInArea(oPC);
    }

     if(iSP < 3)
      {
       AddHenchman(oPC, OBJECT_SELF); // Дать нового спутника
       AssignCommand(oPC, SpeakString("Я рад встречи!"));
      }
      else  AssignCommand(oPC, SpeakString("Извини, нет места..."));
}


Модмейкер
Рыцарская Сага
 
ShadowOWДата: Вторник, 07.01.2014, 18:00 | Сообщение # 39
Оруженосец
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Offline
Так....не до конца понял, как добавлять картинки для предметов....
Портреты для монстров получилось добавить. Да, нужно было кинуть все пять изображений в хак....
А поподробней о картинках предметов - где их прописывать? Для портретов portraits.2da, а для картинок предметов какой файл?
 
RemmДата: Вторник, 07.01.2014, 18:27 | Сообщение # 40
Паладин
Группа: Администраторы
Сообщений: 150
Репутация: 9
Статус: Offline
Цитата ShadowOW ()
А поподробней о картинках предметов - где их прописывать?
Ничего прописывать не нужно! Достаточно правильно назвать и проставить порядковый номер и закинуть картинку в хак. Всё!
Вещь малого размера: iit_gem_018 - размер изображения 32 x 32
Вещь среднего размера : iit_midmisc_128 - размер изображения 64 x 64
Вещь крупного размера : iit_talmisc_026 - размер изображения 64 x 98


Модмейкер
Рыцарская Сага
 
Форум Рыцарская Сага » Список форумов » Neverwinter Nights Aurora Toolset » Вопросы новичков (все вопросы по созданию модулей)
Страница 2 из 4«1234»
Поиск:


Сайт создан: 24.04.2007 Rambler's Top100 Бесплатный конструктор сайтов - uCoz