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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
9 страниц V  « < 7 8 9  
Ответить в эту темуОткрыть новую тему
> ПОСТРОЕНИЕ СКРИПТОВЫХ СЦЕН, Основы написания Cutscene
Aiwan
сообщение Feb 22 2008, 20:53
Сообщение #201


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



1. Никак, только если есть стрела в виде объекта.
2. В начале катсцены запомни то место, где стоял РС так:
Neverwinter Script
SetLocalLocation(oPC, "CUTSCENE_START", GetLocation(oPC));
// тут катсцена

// Так его можно вернуть в исходную точку.
DelayCommand(161.2, AssignCommand(oPC, JumpToLocation(GetLocalLocation(oPC, "CUTSCENE_START"))));


3.
Neverwinter Script
object oCreature = GetObjectByTag("TAG_NPC");
      effect eInv = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
      ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInv, oCreature);


4. (IMG:style_emoticons/kolobok_light/biggrin.gif)
5. Функция SetCameraFacing. Почитай ее описание в редакторе скриптов или в Лексиконе.
6. Передвигать объект можно только такими способами: а) Если он плейсебл то удалил в точке А создал в точке Б. Либо, копируем его в точку Б удаляя из точки А. б) Если стрела == объект существо, то она идет по точкам от А до Б.
7. Простое поврежедение от лука. Другого нет и не может быть. Любая анимация вшита в движок. Рисовать в 3Дмаксе твою стрелу из за одной сценки утопия.
8. Ответил в первом пункте.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
NorthWest
сообщение Feb 22 2008, 22:00
Сообщение #202


Level 2
*

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



Цитата
1) каким то образом нужно зделать об"ект "стрела" (уменьшеное копье ?)
2) надобно запомнить место, откуда мы взяли персонажа
3) зделать персонажа невидимым
4) привязать персонажа к "стреле"
5) камеру максимально приблизить к "стреле"
6) в цикле (или функцией) передвигать стрелу (и персонажа с камерой соответственно)
7) когда стрела попадает в противника, смотрим ефект падения и смерти.
8) "убиваем" об"ект "стрела"
9) персонажа и камеру возвращаем на предидущее место.


Самый простой вариант, какой приходит в голову - это сделать все с невидимыми объектами БЕЗ СТРЕЛЫ, а потом стрелу отдельно заанимировать и добавить через нелинейный монтаж, затем сам ролик внедрить как BIC файл.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Feb 23 2008, 08:11
Сообщение #203


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

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



затем сам ролик внедрить как BIC файл.
только после такого ролика прийдётся завершать модуль (IMG:style_emoticons/kolobok_light/mosking.gif)

а вообще пункты 3-6 можно заменить на "превратить персонажа в стрелу" (см. SetCreatureAppearance(...) или как-то так).

нарисовать и вставить стрелу не так уж сложно, но только если знать макс и техннику нвн.

вопщем лучше сделать выстрел из лука на красивой декорации с красивого ракурса чем маятся неделями над одной сценой, например из-за плеча героя неплохо выстрел выглядит.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Feb 23 2008, 09:42
Сообщение #204


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Подведу итог сказанному. Не парься с такими вещами, игрок не заметит ничего. Ты потратишь пару месяцев на ролик который идет 1 минута.
Самое простое сделать так - всплывающий текст или диалог. "Игрок нагнулся и увидел на земле лежащую стрелу. Внимательно изучив надписи на основании он прочитал текст: "Дружище, не парься, сделай все проще. Дядюшка Айван".
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Feb 23 2008, 13:52
Сообщение #205


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



(IMG:style_emoticons/kolobok_light/offtopic.gif) Игрок опустил глаза и увидел в своём теле стрелу. Внимательно изучив надписи на основании он прочитал текст: "Дружище, не парься, сделай все проще. Дядюшка Айван" (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
ZipovUA
сообщение Mar 19 2008, 12:59
Сообщение #206


Level 2
*

Класс: Маг
Характер: Chaotic Good
Раса: Человек



Добрый день

Пожалуйста, помогите розобраться с ситуацией.

У меня при использовании функции SetCameraFacing (Строка скопирована из первого примера), камера почему-то упирается в ноги игроку (IMG:style_emoticons/kolobok_light/wacko.gif)

Менял ростаяние. Без толку. Как думаете, что можна сделать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Mar 19 2008, 13:18
Сообщение #207


Level 11
***

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



Я в своё время копировал отсюда же, не было никаких проблем!
Neverwinter Script
AssignCommand(GetFirstPC(), SetCameraFacing(x.x, x.x, x.x, CAMERA_TRANSITION_TYPE_MEDIUM));

Вместо x.x своё значение, естественно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Raman
сообщение Jun 24 2008, 23:07
Сообщение #208


Level 2
*

Класс: Варвар
Характер: Lawful Good
Раса: Человек



У меня в ролике получился ляп, которыя я почему-то никак не могу устранить.
Задумка: Герой сидит в тюремной камере, открывается дверь. В дверь входит NPC, подходит к герою и начинается диалог.
Проблема: NPC всегда входит в дверь ЗАДОМ, разворачиваясь уже по дороге к герою. (IMG:style_emoticons/kolobok_light/sad.gif)

Neverwinter Script
void main()
{
object oPC = GetEnteringObject();
object oDoor = GetObjectByTag("AM_DOOR_START");
object oNPC = GetObjectByTag("NPC_01");
object oWPpc = GetWaypointByTag("WP_PC_01");
object oWPconv = GetWaypointByTag("WP_BARS");

  {
  SetCutsceneMode(oPC);
  AssignCommand(oNPC, ClearAllActions());
  AssignCommand(oPC, ClearAllActions());
  ActionDoCommand(AssignCommand(oPC, ActionMoveToObject(oWPpc)));
  ActionDoCommand(AssignCommand(oPC, SetFacingPoint(GetPosition(oDoor))));
  ActionDoCommand(AssignCommand(oPC, SetCameraFacing(280.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));
  ActionWait(2.0);
  ActionDoCommand(AssignCommand(oNPC, ActionJumpToObject(oDoor)));
  ActionDoCommand(AssignCommand(oNPC, SetFacingPoint(GetPosition(oPC))));
  ActionWait(3.0);
  ActionDoCommand(AssignCommand(oNPC, PlayVoiceChat(VOICE_CHAT_HELLO)));
  ActionDoCommand(AssignCommand(oNPC, SpeakString("Приветствую!")));
  ActionWait(0.5);
  ActionDoCommand(AssignCommand(oPC, SetCameraFacing(280.0, 7.0, 45.0, CAMERA_TRANSITION_TYPE_VERY_SLOW)));
  ActionWait(0.5);
  ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPconv)));
  ActionDoCommand(AssignCommand(oNPC, ActionDoCommand(SetCutsceneMode(oPC, FALSE))));
  ActionDoCommand(AssignCommand(oNPC, ActionStartConversation(oPC)));
  }

}


Как заставить его войти по-человечески? (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 25 2008, 09:58
Сообщение #209


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Очень просто. Поставь поинт перед дверью и джампай его на поинт а не в дверь.
Neverwinter Script
object oWPspawn = GetWaypointByTag("WP_NPC_SPAWN");
ActionDoCommand(AssignCommand(oNPC, ActionJumpToObject(oWPspawn)));



Если опять жопой прыгнет, то разверни поинт. Если всеравно будет так же, то скорее всего у твоего НПС скрипты работают и заставляют его куда то идти. А он ищет выход, получив команды он все стирает и делате твой ролик дальше.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Raman
сообщение Jun 25 2008, 17:10
Сообщение #210


Level 2
*

Класс: Варвар
Характер: Lawful Good
Раса: Человек



Спасибо. Все встало на свои места. (IMG:style_emoticons/kolobok_light/yahoo.gif) Только он теперь приветствие не говорит. Или говорит, но еще до того как входит в комнату (IMG:style_emoticons/kolobok_light/crazy.gif) . Но это уже мелочи.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Raman
сообщение Jun 27 2008, 20:02
Сообщение #211


Level 2
*

Класс: Варвар
Характер: Lawful Good
Раса: Человек



Теперь и они устранены (IMG:style_emoticons/kolobok_light/biggrin.gif)

Сообщение отредактировал Aiwan - Jun 28 2008, 11:23
Причины изменения: Ну и славно ;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ksanatos
сообщение Oct 13 2008, 14:07
Сообщение #212


Level 2
*

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



Я тут недавно , может это и не в тему , кто знает скрипт чтоб воскрешение отменить, что бы в модуле только загружаться можно было?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Nov 14 2008, 22:29
Сообщение #213


Level 3
*

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



Спасибо всем, кто тут объяснял, что к чему! Единственная вещь, которая у нас так и не получается - это замедление РС (IMG:style_emoticons/kolobok_light/swoon.gif) Уже и так его, и сяк, а оно все свое толдычит "Immune to Slow"! Пытались уже даже убрать на время эффект иммунитета с РС, но такое чувство, что оно ваще не реагирует ни на что. Откуда например у визарда первого уровня взяться этому иммунитету? Получается, что это никак не возможно?! Вот мы тута пытались таким образом сделать:
Neverwinter Script
if (GetIsImmune(oPC,IMMUNITY_TYPE_MOVEMENT_SPEED_DECR
EASE))
        {
        CutRemoveEffects(0.1,oPC,TRUE);
        }

ну и там далее - наложить эффект торможения и все такое... Что тут можно сделать? (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Nov 27 2008, 22:50
Сообщение #214


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Neverwinter Script
effect eSlow = EffectSlow();
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSlow, oPC);

Так мы с ДБом паравоз останавливали (IMG:style_emoticons/kolobok_light/smile.gif) Давно это было...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Jan 14 2009, 15:03
Сообщение #215


Level 3
*

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



Пожалуйста, посмотрите скрипт и скажите в чем ошибка. Проблема в том, что некоторые НПС, которые должны атаковать невидимый объект, тормозят и вместо положенных 2-3 секунд на начало атаки, стоят, как пни в лесу, почти до конца катсцены. (IMG:style_emoticons/kolobok_light/unsure.gif)
Neverwinter Script
#include "x2_inc_cutscene"
#include "nw_i0_generic"
#include "x2_inc_globals"

int nCutsceneNumber = 1804;

void main()
{
object oPC = GetLastAttacker();
  object oMonk1 = GetObjectByTag("Monk1");
    object oMonk2 = GetObjectByTag("Monk2");
    object oMonk3 = GetObjectByTag("Monk3");
    object oMonk6 = GetObjectByTag("Monk6");
    object oMonk5 = GetObjectByTag("Monk5");
    object oMonk4 = GetObjectByTag("Monk4");


    object oInvis = GetObjectByTag("hit");

object oAnimal = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oPC);
object oDominated = GetAssociate(ASSOCIATE_TYPE_DOMINATED, oPC);
object oFamiliar = GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oPC);
object oHench = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC);
object oHench2 = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC,2);
object oSummoned = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oPC);

object oWP1 = GetObjectByTag("WP_PC");
object oWP2 = GetObjectByTag("WP_ACC");

effect eCutPar = EffectCutsceneParalyze();
effect eInvis = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);

if (GetIsPC(oPC))
{
    FadeToBlack(oPC, FADE_SPEED_FASTEST);

  AssignCommand(oPC, ClearAllActions());
AssignCommand(oPC,ActionJumpToObject(oWP1,TRUE));

    SetCutsceneMode(oPC);

DelayCommand(0.1,AssignCommand(oAnimal,ActionJumpToObject(oWP2,TRUE)));
DelayCommand(0.2,AssignCommand(oDominated,ActionJumpToObject(oWP2,TRUE)));
DelayCommand(0.3,AssignCommand(oFamiliar,ActionJumpToObject(oWP2,TRUE)));
DelayCommand(0.4,AssignCommand(oHench,ActionJumpToObject(oWP2,TRUE)));
DelayCommand(0.5,AssignCommand(oHench2,ActionJumpToObject(oWP2,TRUE)));
DelayCommand(0.6,AssignCommand(oSummoned,ActionJumpToObject(oWP2,TRUE)));

        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eCutPar, oAnimal);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eCutPar, oHench);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eCutPar, oHench2);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eCutPar, oDominated);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eCutPar, oFamiliar);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eCutPar, oSummoned);

        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInvis, oAnimal);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInvis, oHench);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInvis, oHench2);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInvis, oDominated);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInvis, oFamiliar);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInvis, oSummoned);




    DelayCommand(1.4, AssignCommand(oPC, SetCameraFacing(270.0, 15.0, 40.0, CAMERA_TRANSITION_TYPE_SNAP)));
    DelayCommand(1.6, FadeFromBlack(oPC, FADE_SPEED_FASTEST));
      CutActionAttack(1.7,oMonk1,oInvis,FALSE,FALSE);
    CutPlayAnimation(1.8, oPC,ANIMATION_FIREFORGET_DODGE_DUCK,0.4,FALSE);
      CutActionAttack(1.9,oMonk2,oInvis,FALSE,FALSE);
      CutPlayAnimation(2.0, oPC,ANIMATION_FIREFORGET_DODGE_SIDE,0.4,FALSE);
      CutActionAttack(2.1,oMonk3,oInvis,FALSE,FALSE);
      CutPlayAnimation(2.2, oPC,ANIMATION_FIREFORGET_DODGE_DUCK,0.4,FALSE);
      CutActionAttack(2.3,oMonk4,oInvis,FALSE,FALSE);
    CutPlayAnimation(2.5, oPC,ANIMATION_LOOPING_DEAD_FRONT,20.5,FALSE);
      CutActionAttack(2.6,oMonk5,oInvis,FALSE,FALSE);
      CutActionAttack(2.7,oMonk6,oInvis,FALSE,FALSE);


    DelayCommand(29.9,FadeToBlack(oPC, FADE_SPEED_MEDIUM));
    DelayCommand(30.9,EndGame(""));
}
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Topik
сообщение Mar 26 2009, 22:54
Сообщение #216


Level 2
*

Класс: Варвар
Характер: Lawful Neutral
Раса: Дварф



Здравствуйте! Подскажите пожалуйста, что здесь не так?

Neverwinter Script
void main()
{
object oPC = GetEnteringObject();
object oBoss = GetObjectByTag("gw_ninja_boss");
object oNpc1 = GetObjectByTag("gw_ninja");
object oNpc2 = GetObjectByTag("gw_ninja02");
object oWp1 = GetWaypointByTag("gw_waypoint01");
if(GetIsPC(oPC) && !GetLocalInt(OBJECT_SELF, "TRIGGER"))
{
     FadeToBlack(oPC, FADE_SPEED_FASTEST);
     SetCutsceneMode(oPC, TRUE);
     SetLocalInt(OBJECT_SELF, "TRIGGER", TRUE);
     SetLocalInt(oPC, "CUTSCENEMOD", TRUE);
     SetAILevel(oBoss, AI_LEVEL_HIGH);
     SetAILevel(oNpc1, AI_LEVEL_HIGH);
     SetAILevel(oNpc2, AI_LEVEL_HIGH);
     AddCutEffects(oBoss);
     AddCutEffects(oNpc1);
     AddCutEffects(oNpc2);

     DelayCommand(1.0, AssignCommand(oPC, SetCameraFacing(45.0, 25.0, 40.0, CAMERA_TRANSITION_TYPE_SNAP)));
     DelayCommand(1.0, AssignCommand(oPC, ActionMoveToObject(oWp1, FALSE, 1.0)));
     DelayCommand(2.0, AssignCommand(oPC, SpeakString("Здесь что-то не так!")));
     DelayCommand(3.0, RemoveCutEffects(oBoss, TRUE));
     DelayCommand(3.0, RemoveCutEffects(oNpc1, TRUE));
     DelayCommand(3.0, RemoveCutEffects(oNpc2, TRUE));
     DelayCommand(3.10, AssignCommand(oPC, SpeakString("Что!?")));
     DelayCommand(3.10, AssignCommand(oPC, ActionDoCommand(SetFacingPoint(GetPosition(oBoss))
)));
     DelayCommand(3.20, AssignCommand(oPC, SpeakString("Это он!")));
     DelayCommand(3.10, AssignCommand(oBoss, ActionDoCommand(SetFacingPoint(GetPosition(oPC))))
);
     DelayCommand(3.40, AssignCommand(oWolf3, ActionForceMoveToObject(oPC, TRUE, 3.0)));
     DelayCommand(4.0, AssignCommand(oBoss, ActionAttack(oPC)));
     DelayCommand(4.10, AssignCommand(oPC, PlayAnimation(ANIMATION_DEAD_BACK, 0.5, 30.0)));
     DelayCommand(4.50, AssignCommand(oBoss, PlayAnimation(ANIMATION_LOOPING_GET_LOW, 0.5, 30.0)));
     DelayCommand(5.0, AssignCommand(oPC, SpeakString("Берем его и уходим!")));
     DelayCommand(5.0, AssignCommand(oNpc1, ActionMoveToObject(oPC, FALSE, 1.0)));
     DelayCommand(5.0, AssignCommand(oNpc2, ActionMoveToObject(oPC, FALSE, 1.0)));
     DelayCommand(5.0, AssignCommand(oPC, ClearAllActions()));
     DelayCommand(5.50, AssignCommand(oPC, JumpToObject(GetWaypointByTag("gw_waypoint_iruko01"))));
     DelayCommand(5.53, SetXP(oPC, 10000));
     DelayCommand(6.0, DestroyObject(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC)));
     CreateQuest("gw_ninja_quest", TRUE);

}


Сообщение отредактировал Topik - Mar 26 2009, 22:54
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 29 2009, 09:37
Сообщение #217


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



* Напрягаю свои телепатические свойства * *ПУК*

Парень, у тебя может быть ВСЕ не так. У тебя может быть 10 одинаковых вейпоинтов и НПС по ним не идут. У тебя может быть туева хуча разных МОЖЕТ БЫТЬ которые видно ТОЛЬКО у тебя при просмотре скриптовой сцены. Твое сообщение что-то типа куска кода на форуме: Чуваки пишу прогу, но что-то нихера не пашет. Че не так?

КАК МИНИМУМ мы должны знать, а что ты ВООБЩЕ хотел сделать? И ЧТО НЕ ТАК ВООБЩЕ?

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение Jun 18 2010, 12:00
Сообщение #218


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Здравствуйте, я тут новенький. Вчера нашёл эту тему и начал активно пытаться наклепать что-нибудь прямо работающее.
Первый скрипт получился и работает отлично
Neverwinter Script
void main()
{
object oPC = GetEnteringObject();
object oDoor = GetObjectByTag("toggm");
object oNPC = GetObjectByTag("Guardian");
object oWPpc = GetWaypointByTag("start_cut_scene");
object oWPnpc = GetWaypointByTag("cutscene1_01");

if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1)
    return;
   {
   SetLocalInt(OBJECT_SELF, "TRIGGER", 1);
   SetCutsceneMode(oPC);
   AssignCommand(oNPC, ClearAllActions());
   AssignCommand(oPC, ClearAllActions());

   ActionDoCommand(AssignCommand(oPC, ActionMoveToObject(oWPpc)));
   ActionDoCommand(AssignCommand(oPC, SetFacingPoint(GetPosition(oNPC))));
   ActionDoCommand(AssignCommand(oPC, SetCameraFacing(115.0f, 15.0, 50.0, CAMERA_TRANSITION_TYPE_MEDIUM)));
   ActionWait(3.5);
   ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPnpc)));
   ActionDoCommand(AssignCommand(oNPC, SetFacingPoint(GetPosition(oPC))));
   ActionWait(2.0);
   ActionDoCommand(AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_SALUTE, 1.0, 3.0)));
   ActionDoCommand(AssignCommand(oNPC, PlayVoiceChat(VOICE_CHAT_HELLO)));
   ActionDoCommand(AssignCommand(oNPC, SpeakString("Hey!")));
   ActionDoCommand(AssignCommand(oPC, SetCameraFacing(115.0f, 7.0, 50.0, CAMERA_TRANSITION_TYPE_SLOW)));
   ActionWait(3.5);
   ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oPC)));
   ActionDoCommand(AssignCommand(oNPC, ActionDoCommand(SetCutsceneMode(oPC, FALSE))));
   ActionDoCommand(AssignCommand(oNPC, ActionStartConversation(oPC)));
   }
}


А во втором что-то барахлит. Во-первых, в 11 строчке при сохранении он пишет ошибку "ERROR: PARSING VARIABLE LIST"
Во-вторых, при входе в триггер ПК бежит задом (ну, смотря как войти) к oWPpc из первого скрипта.
Пытался исправить
Neverwinter Script
object oWPPC = GetWaypountByTag("PCP");
DelayCommand(0.0 ,AssignCommand(oPC, ActionMoveToObject(oWPPC)))

Непомогло.
Начальная задумка-ПК увидел дерущуюся толпу, проигрываются фразы, ПК убивает выбежавшего, оббирает, справа подходит чувак и начинается диалогю
Neverwinter Script
void main()
{
object oPC = GetEnteringObject();
object oNPCs1 = GetObjectByTag("Pervert");
object oNPCs2 = GetObjectByTag("Pervert2");
object oNPC1 = GetObjectByTag("Smartpervert");
object oSIR = GetObjectByTag("Sir");
object oITEM = GetObjectByTag("Ladyscloth");
object oWPnpc1 = GetWaypointByTag("SPwp");
object oWPSIR = GetWaypointByTag("sirWP");

  if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1)
    return;
   {
   SetLocalInt(OBJECT_SELF, "TRIGGER", 1);
   SetCutsceneMode(oPC);
   AssignCommand(oNPC, ClearAllActions());
   AssignCommand(oPC, ClearAllActions());
  DelayCommand(0.0 ,AssignCommand(oPC, SetCameraFacing(115.0f, 15.0, 50.0,

CAMERA_TRANSITION_TYPE_MEDIUM)));
PC, SpeakString("You see crowd of perverts that steal lady's cloth and fight for it now"));
   DelayCommand(3.0 ,AssignCommand(oNPCs1, SpeakString("It's my! It's my!")));
   DelayCommand(5.0 ,AssignCommand(oNPCs2, SpeakString("NO! It's my!")));
   DelayCommand(7.0 ,AssignCommand(oNPC1, SpeakString("I have it! Ow it smell awesome...")));
   DelayCommand(9.5 ,AssignCommand(oNPCs1, SpeakString("Catch him!")));
   DelayCommand(9.5 ,AssignCommand(oNPCs2, SpeakString("Catch him!")));
   DelayCommand(10.9 ,AssignCommand(oNPCs1, SetFacingPoint(GetPosition(oNPC1))));
   DelayCommand(10.9 ,AssignCommand(oNPCs2, SetFacingPoint(GetPosition(oNPC1))));
   DelayCommand(11.1 ,AssignCommand(oNPC1, SpeakString("AAAAAAAAAAAAAAAAAA!")));
   DelayCommand(12.0 ,AssignCommand(oNPC1, ActionMoveToObject(oWPnpc1)));
   DelayCommand(14.0 ,AssignCommand(oNPC1, SetFacingPoint(GetPosition(oPC))));
   DelayCommand(14.5 ,AssignCommand(oNPC1, SpeakString("What are you doing?!)));
   DelayCommand(15.0 ,AssignCommand(oPC, ActionAttack(oNPC1)
   DelayCommand(15.2 ,AssignCommand(oNPC1, EffectDeath(int nSpectacularDeath=TRUE))
   DelayCommand(16.5 ,AssignCommand(oPC, ActionPlayAnimation(Steal)
   ActionGiveItem(oItem, oPC)
   DelayCommand(14.0 ,AssignCommand(oSir, ActionMoveToObject(oWPSIR)));
   DelayCommand(17.0 ,AssignCommand(oNPCs2, SetFacingPoint(GetPosition(oPC))));
   ActionDoCommand(AssignCommand(oNPCs1, ActionDoCommand(SetCutsceneMode(oPC, FALSE))));
   ActionDoCommand(AssignCommand(oNPCs1, ActionStartConversation(oSIR)));
   }
}


Сообщение отредактировал wirTUS - Jun 23 2010, 14:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 23 2010, 21:42
Сообщение #219


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Цитата(wirTUS @ Jun 18 2010, 14:00) *
А во втором что-то барахлит. Во-первых, в 11 строчке при сохранении он пишет ошибку "ERROR: PARSING VARIABLE LIST"

И что там написано? Дай свою 11 строку из скрипта в тулсете.
Вот это что за высер мозга? PC, SpeakString("You see crowd of perverts that steal lady's cloth and fight for it now")); Замени на DelayCommand(2.0 ,AssignCommand(oPC, SpeakString("You see crowd of perverts that steal lady's cloth and fight for it now")));.
Что бы камера не скакала убери DelayCommand(0.0 ,AssignCommand(oPC, SetCameraFacing(115.0f, 15.0, 50.0, CAMERA_TRANSITION_TYPE_MEDIUM)));, а если хочется ей научиться пользоваться, то меняй значения в функции и так поймешь при каком раскладе в какую сторону она двигается.
Цитата(wirTUS @ Jun 18 2010, 14:00) *
Во-вторых, при входе в триггер ПК бежит задом (ну, смотря как войти) к oWPpc из первого скрипта.

Научись всем объектам давать уникальные теги в скриптовых сценах. Задом РС мог идти не только к вейпоинту, но и в другую локацию к другому объекту с таким тегом.
И кто такой ПК? Персональный компьютер?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Baal
сообщение Jun 26 2010, 22:22
Сообщение #220


Вечно исчезающий
Иконки Групп

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



Neverwinter Script
DelayCommand(14.5 ,AssignCommand(oNPC1, SpeakString("What are you doing?!)));


[5kopeek]
(IMG:style_emoticons/kolobok_light/declare.gif) И еще кавычки пропущены (IMG:style_emoticons/kolobok_light/rolleyes.gif)
[/5kopeek]
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

9 страниц V  « < 7 8 9
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th March 2024 - 02:22