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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
9 страниц V  < 1 2 3 > »   
Ответить в эту темуОткрыть новую тему
> ПОСТРОЕНИЕ СКРИПТОВЫХ СЦЕН, Основы написания Cutscene
DBColl
сообщение Jul 12 2004, 15:45
Сообщение #21


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



2GoDoom
Катсцены пишутся по такой схеме:
Neverwinter Script Source
DelayCommand(x.x, AssignCommand(...))

Иначе ты будешь еще долго разбираться в стеке акций... И сбои никогда неисключены. А через DelayCommand все всегда получается и быстрее, и безошибочнее.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2GoDoom
сообщение Jul 12 2004, 16:14
Сообщение #22


Level 11
***

Класс: Обыватель
Характер: True Neutral
Раса: Человек
NWN: Маппинг



Окей, спасибо - буду пробовать
Добавлено в [mergetime]1089639537[/mergetime]
Еще большие глюки (IMG:style_emoticons/kolobok_light/sad.gif)
Правильно написано?:

Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oNPC1 = GetNearestObjectByTag("NPC_1", OBJECT_SELF);
object oNPC2 = GetNearestObjectByTag("NPC_2", OBJECT_SELF);
object oNPC3 = GetObjectByTag("NPC_3");
object oDoor = GetNearestObjectByTag("DOOR", OBJECT_SELF);
object oWP = GetObjectByTag("GO_AWAY");
effect eDis = EffectDisappear(0);

if(!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1)
  return;
{
  SetLocalInt(OBJECT_SELF, "TRIGGER", 1);
  SetCutsceneMode(oPC);
  ActionDoCommand(SetCameraFacing(180.0, 15.0, 50.0, CAMERA_TRANSITION_TYPE_SLOW));
  DelayCommand(1.0 ,AssignCommand(oNPC1, SetFacing(270.0)));
  DelayCommand(2.0 ,AssignCommand(oNPC1, SpeakString("?? ????? ?????!", TALKVOLUME_TALK)));
  DelayCommand(4.0 ,AssignCommand(oNPC2, SetFacing(90.0)));
  DelayCommand(4.5 ,AssignCommand(oNPC2, SpeakString("????????, ?????!", TALKVOLUME_TALK)));
  DelayCommand(5.0 ,AssignCommand(oNPC1, SpeakString("?? ????????, ???????!", TALKVOLUME_TALK)));
  DelayCommand(5.0 ,AssignCommand(oNPC1, ActionMoveToObject(oNPC2, TRUE, 1.0)));
  DelayCommand(5.5 ,AssignCommand(oNPC1, ActionAttack(oNPC2, FALSE)));
  DelayCommand(10.0 ,AssignCommand(oPC, SetFacingPoint(GetPosition(oDoor))));
  DelayCommand(10.5 ,AssignCommand(oDoor, ActionOpenDoor(OBJECT_SELF)));
  DelayCommand(11.5 ,AssignCommand(oDoor, ActionCloseDoor(OBJECT_SELF)));
  DelayCommand(11.0 ,AssignCommand(oNPC3, ActionMoveToObject(oNPC1, TRUE, 1.0)));
  DelayCommand(11.0 ,AssignCommand(oNPC3, PlayAnimation(ANIMATION_LOOPING_GET_MID, 1.0, 2.0)));
  DelayCommand(12.0 ,AssignCommand(oNPC3, ActionMoveToObject(oNPC2, TRUE, 1.0)));
  DelayCommand(12.0 ,AssignCommand(oNPC3, PlayAnimation(ANIMATION_LOOPING_GET_MID, 1.0, 2.0)));
  DelayCommand(12.5 ,AssignCommand(oNPC1, ActionForceFollowObject(oNPC3, 0.0)));
  DelayCommand(12.5 ,AssignCommand(oNPC2, ActionForceFollowObject(oNPC3, 0.0)));
  DelayCommand(13.0 ,AssignCommand(oNPC3, ActionMoveToObject(oDoor, FALSE, 1.0)));
  DelayCommand(14.0 ,AssignCommand(oDoor, ActionOpenDoor(OBJECT_SELF)));
  DelayCommand(14.5 ,AssignCommand(oNPC3, ActionMoveToObject(oWP, FALSE, 0.0)));
  DelayCommand(15.0 ,DestroyObject(oNPC1, 0.0));
  DelayCommand(15.0 ,DestroyObject(oNPC2, 0.0));
  DelayCommand(15.0 ,DestroyObject(oNPC3, 0.0));
  DelayCommand(15.0 ,DestroyObject(OBJECT_SELF, 0.0));
  DelayCommand(16.0 ,SetCutsceneMode(oPC, FALSE));
}
}

Добавлено в [mergetime]1089639872[/mergetime]
Еще что не понятно - камера то не крутится (IMG:style_emoticons/kolobok_light/sad.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Jul 12 2004, 17:46
Сообщение #23


Level 8
***

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



Код
ActionDoCommand(SetCameraFacing(180.0, 15.0, 50.0, CAMERA_TRANSITION_TYPE_SLOW));

Неверно. Верно так:
Код
AssignCommand(oPC, SetCameraFacing(180.0, 15.0, 50.0, CAMERA_TRANSITION_TYPE_SLOW));
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Jul 12 2004, 18:19
Сообщение #24


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Ну вроде как все правильно. А что глючит-то? Как?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2GoDoom
сообщение Jul 12 2004, 19:22
Сообщение #25


Level 11
***

Класс: Обыватель
Характер: True Neutral
Раса: Человек
NWN: Маппинг



ну вообщем так:
Я встаю на триггер, вклчюается катсцена:
Мужик перекрикиваются, очень резко поворачиваются друг на друга, затем один подбегает и стоит. Через пару секунд камера не трогается с места а мой персонаж очень резко поворачивается, затем открывается дверь, закрывается дверь, затем два дрочуна бегут к двери, из двери бежит охраник и пропадают недобегая никуда...

Вот так то (IMG:style_emoticons/kolobok_light/sad.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Аваддон
сообщение Jul 13 2004, 01:53
Сообщение #26


Level 10
***

Класс: Воин
Характер: Lawful Neutral
Раса: Человек
NWN: Скриптинг [PW]



Как это пропадают? (IMG:style_emoticons/kolobok_light/shok.gif)
Neverwinter Script Source
DelayCommand(15.0 ,DestroyObject(oNPC1, 0.0));
  DelayCommand(15.0 ,DestroyObject(oNPC2, 0.0));
  DelayCommand(15.0 ,DestroyObject(oNPC3, 0.0));
  DelayCommand(15.0 ,DestroyObject(OBJECT_SELF, 0.0));

Значит время увелич раз они за 15 сек не добегают (IMG:style_emoticons/kolobok_light/biggrin.gif) (IMG:style_emoticons/kolobok_light/ph34r.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Jul 13 2004, 11:24
Сообщение #27


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Хех, если ты хошь, чтобы они друг друга атаковали, сменяй фракции каждому перед атакой друг друга. Сделай фракцию, нейтральную ко всем и враждебную к самой себе. (IMG:style_emoticons/kolobok_light/wink3.gif) Перед ActionAttack сделай ChangeFaction() (IMG:style_emoticons/kolobok_light/wink3.gif) .

А чтобы не пропадали раньше времени, действительно увеличь паузу до дестроя. И еще. Привыкни писать без "двойных" делэев...
Neverwinter Script Source
DelayCommand(15.0 ,DestroyObject(oNPC1, 0.0));

Нафига в Destroy ты указывал 0.0? Здесь оно только путает. Достаточно:
Neverwinter Script Source
DelayCommand(15.0 ,DestroyObject(oNPC1));
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2GoDoom
сообщение Jul 13 2004, 11:43
Сообщение #28


Level 11
***

Класс: Обыватель
Характер: True Neutral
Раса: Человек
NWN: Маппинг



Окей... сча попробуем
Спасибо (IMG:style_emoticons/kolobok_light/smile.gif)
Добавлено в [mergetime]1089709917[/mergetime]
Атокавать и с другой фракцией не атакуют (IMG:style_emoticons/kolobok_light/sad.gif)
Добавлено в [mergetime]1089710092[/mergetime]
Одному поставил Hostile - начали драться... проблема в том что охраник стал подбегать и тоже бить хостайла (IMG:style_emoticons/kolobok_light/smile.gif) )
Добавлено в [mergetime]1089710732[/mergetime]
Вау.. какая хрень у меня получилась (IMG:style_emoticons/kolobok_light/smile.gif) Только камера в середине катсцены не поворачивается почему-то (IMG:style_emoticons/kolobok_light/sad.gif)
1. Челу начинают драться.. кричат... выливается кровь...
2. Прибегает мент, они успокаиваются, мент крутит рукой типа "в наручники", затем один (тот что начинал драться) идет за ментом, а другой его бьет в догонку (IMG:style_emoticons/kolobok_light/smile.gif)
3. И все... (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ragnor
сообщение Jul 27 2004, 10:13
Сообщение #29


Level 3
*

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



Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oItem = GetObjectByTag("111");
if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1)
    return;
  {
  SetLocalInt(OBJECT_SELF, "TRIGGER", 1);
  SetCutsceneMode(oPC);
  AssignCommand(oPC, ClearAllActions());
  AssignCommand(oItem, ClearAllActions());
  ActionDoCommand(AssignCommand(oItem, SetCameraFacing(250.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));
  ActionWait(5.5);
  ActionDoCommand(AssignCommand(oItem, SetCameraFacing(250.0, 7.0, 45.0, CAMERA_TRANSITION_TYPE_SLOW)));
  ActionWait(3.5);
  ActionDoCommand(AssignCommand(oItem, ActionDoCommand(SetCutsceneMode(oPC, FALSE))));
  ActionDoCommand(AssignCommand(oItem, ActionStartConversation(oPC)));
  }
}


Что тут не правильно? По идеи игрок должен наступить на тригер и камера переходит на обьект с тегом 111 но камера остаётс на ПК и к томуже не двигается
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2GoDoom
сообщение Jul 27 2004, 12:15
Сообщение #30


Level 11
***

Класс: Обыватель
Характер: True Neutral
Раса: Человек
NWN: Маппинг



Ragnor, 1ое - тута нету Акшон Вайтов - тут есть Делай Комманд (как я уже понял).
2ое - Что за oItem? и зачем катсцену как-то странно вырубаешь?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 27 2004, 14:27
Сообщение #31


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

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



Цитата(Ragnor @ Jul 27 2004, 13:13)
По идеи игрок должен наступить на тригер и камера переходит на обьект с тегом 111 но камера остаётс на ПК и к томуже не двигается

Камера НИКОГДА не отрывается от РС. Это зашито в движок.
Что бы показать яко бы движенеие камеры, делается так: тушишь экран, делаешь РС невидимым, прыгаешь туда куда надо, и осветляешь экран.

Короче, на днях напишу вторую статью... Может через недельку.
Добавлено в [mergetime]1090927888[/mergetime]
2GoDoom в принципе все правильно. Так что тут делей не нужен, ведь он все действия вешает на ПОРЯДОК АКТИОНОВ У ТРИГГЕРА. Там можно ActionWait
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ragnor
сообщение Jul 27 2004, 14:53
Сообщение #32


Level 3
*

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



Буду ждать статью (IMG:style_emoticons/kolobok_light/yes3.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Jul 28 2004, 18:31
Сообщение #33


Level 8
***

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



Neverwinter Script Source
ActionDoCommand(AssignCommand(oItem, SetCameraFacing(250.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));

Тут ActionDoCommand() не надо: эта функция заставляет ПОТОКОВУЮ команду становиться в СТЕК АКЦИЙ. А если стековая команда стоит первой в стеке, она выполняется также, как и потоковая, т.е. мгновенно.

Neverwinter Script Source
ActionWait(5.5);

А вот тут уже надо AssignCommand(oItem или oPC). Так, как делаешь ты, ты заставляешь ждать не ПС или Айтем, а триггер, что тебе, по ходу, помочь не может.

Neverwinter Script Source
ActionDoCommand(AssignCommand(oItem, ActionStartConversation(oPC)));

Здесь тоже ActiondoCommand не надоть: ActionStartConv. - "стековая" команда.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 28 2004, 18:55
Сообщение #34


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

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



Tarre Talliorne для того, что бы отрепетировать скриптовую сценку надо делать все на одном объекте. В часности, это триггер. Ты пишешь правильные мысли, но для сценки они не подходят. Все твои команды в скрипте уйдут по адресам: оРС, оНПС и т.д. Я учу, делать сценку на стеке ОДНОГО ТРИГГЕРА. Каждая команда триггеру это переадресация команды для РС или НПС и т.д. Потаму как тогда можно проследить порядок выполнения, и не надо будет лишних команд, типа ActionWait для РС ActionWait для НПС и т.д. Если присмотреться повнимательней, то все команды забиваются в стек триггера. Потаму и юзают в идеале DelayCommand. Так что Ragnor, то что говорит Tarre Talliorne верно для скриптинга вообще, но для катсценки луче делай как я показал.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Jul 29 2004, 15:49
Сообщение #35


Level 8
***

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



Цитата
Tarre Talliorne для того, что бы отрепетировать скриптовую сценку надо делать все на одном объекте.В часности, это триггер.

Совсем необязталеьно. Я про триггер. Небольшие сценки с одним\двумя персами можно делать и на самих этих персах. Так как on_enter триггера глючит бажено, а on_exit использовать-изврат чистой воды.
Но в общем-то, респект.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 8 2004, 12:52
Сообщение #36


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

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



СМОТРИЕ НАЧАЛО ТЕМЫ. СТАТЬЯ ИЗМЕНИЛАСЬ КАРДИНАЛЬНО!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Aug 8 2004, 13:58
Сообщение #37


Level 8
***

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



Куль. Как я завиудю новичкам! :-) Когда начинали мы, у нас даже нормальных мануалов не было, все (нет, не все... ВООБЩЕ ВСЕ) приходилось осваивать самому... Было времечко. :-) А вообще статья здоровская. Так держать!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 8 2004, 16:01
Сообщение #38


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

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



Tarre Talliorne спасибки! (IMG:style_emoticons/kolobok_light/wink3.gif) Главное что б ее читала молодежь (IMG:style_emoticons/kolobok_light/biggrin.gif) Кстати, ты тож мог бы народ подучить чем ни будь...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Aug 8 2004, 16:46
Сообщение #39


Level 8
***

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



Хм... Сейчас я сам с удовольствием занимаюсь копанием в биоповоровских инклюдах... Но это(их разбор) для новичков сложновато. Может быть, напишу краткое руководство по созданию инклюд-функций разных типов... Если будет время, разумеется.
Добавлено в [mergetime]1091973019[/mergetime]
Да, и еще: в модуле в одном из скриптов ты перечисляешь всех ассоциэйтов(GetAssociate( . . . )) и кидаешь на них катсценовские эффекты (инвизибл и паралайз). Не есть гуд. Все это можно реализовать циклом. Вечерком кину в базу (или сюда - скрипт-то вроде только к катсценам отношение имеет). Даже 2 - один для СоУ (там только 1 цикл) и для ХотУ (там еще и вложенный - ведь может быть не 1 хенч)...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 8 2004, 17:00
Сообщение #40


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

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



Напиши что можно сделать простым разкоменнтированием строк в стандартных скриптах. Будет востребована на ура!
Цитата(Tarre Talliorne @ Aug 8 2004, 19:46)
Да, и еще: в модуле в одном из скриптов ты перечисляешь всех ассоциэйтов(GetAssociate( . . . )) и кидаешь на них катсценовские эффекты (инвизибл и паралайз). Не есть гуд. Все это можно реализовать циклом.

Да, это верно. Цикл есть в инклюде ДБа, а ее я не приводил (IMG:style_emoticons/kolobok_light/blum3.gif) К этому скрипто подключены две инклюды в реале... Просто новичкам надо ПОЩУПАТЬ все самим и потрогать (IMG:style_emoticons/kolobok_light/wink3.gif) А свою инклюду давай! Народ спасибо скажет!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Aug 8 2004, 19:30
Сообщение #41


Level 8
***

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



Возникли небольшие траблы... Постараюсь ближе к ночи кинуть, но ничего гарантировать не могу. :\
<small>Добавлено в 19:37</small>
Цитата
Напиши что можно сделать простым разкоменнтированием строк в стандартных скриптах. Будет востребована на ура!

НПС спавн покоя не дает? :-) Инклюда вэйповская довольно проста, так что можно начать с нее. Но, с другой стороны, зачем бедному новичкеу знать такие тонкости. С третьей стороны, если не рыться в инкл., все мои действия сведуться к банальному переводу комментов из дефолтного скрипта на спавн и статей из лексикона (в апрельском вроде был туториал по касто-вейпам)... Я в растерянности :-)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 8 2004, 22:20
Сообщение #42


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

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



Цитата(Tarre Talliorne @ Aug 8 2004, 22:30)
третьей стороны, если не рыться в инкл., все мои действия сведуться к банальному переводу комментов из дефолтного скрипта на спавн и статей из лексикона

Это то что надо (IMG:style_emoticons/kolobok_light/wink3.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Aug 9 2004, 18:43
Сообщение #43


Level 8
***

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



я подумаю
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Aug 9 2004, 20:08
Сообщение #44


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Айв, РЕСПЕКТ! (IMG:style_emoticons/kolobok_light/good.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
[MoF]Darth_Nick
сообщение Aug 10 2004, 04:57
Сообщение #45


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

Класс: Некромант
Характер: Chaotic Evil
Раса: Нежить
NWN: Скриптинг [PW]



зацените - неплохо для нуба?

здесь
Добавлено в [mergetime]1092103709[/mergetime]
там страница откроется и там еще раз надо нажать (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



Текстовая версия Сейчас: 7th July 2025 - 17:30