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

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

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


Level 8
***

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



Про фикс: я не совсем то имел ввиду.Про катсцен_инвизибл я и так знаю. Я иел ввиду, что можно релизовать такую полезнейшую вещь, как неуправляемая героем камера, причем все это не в режиме катсцены.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Аваддон
сообщение Jun 23 2004, 22:04
Сообщение #12


Level 10
***

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



Вопрос назрел к Айвану.
Что то у меня неполучается чтобы при нападении камера к монстру развернулась.
Код

object oEnemy = GetLastAttacker();
float fEnemy=GetFacing(oEnemy);
AssignCommand(oPC, SetCameraFacing(fEnemy, 5.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM));
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 23 2004, 23:47
Сообщение #13


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

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



Ну ты даешь! (IMG:style_emoticons/kolobok_light/shok.gif) У РС куча забот а ты его еще камерой мутузишь! (IMG:style_emoticons/kolobok_light/lol.gif)

Код

vector vD = GetPosition(oEnemy) - GetPosition(oPC);
float fEnemy = VectorToAngle(vD);
AssignCommand(oPC, SetCameraFacing(fEnemy, 5.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM));

Не подумай что я такой умный (IMG:style_emoticons/kolobok_light/unsure.gif) это код ДБа. Просто я знаю где он и как работает (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Jun 24 2004, 02:57
Сообщение #14


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

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



Кстати спецы по векторам у нас Лекс и Баал. Так что разрулят, если возникнут вопросы (IMG:style_emoticons/kolobok_light/wink3.gif) .

LEX: не переводи на меня стрелки, ДБ. Я не шарю в векторах. Ты и Баал, вот, кто шарят.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Аваддон
сообщение Jul 9 2004, 00:07
Сообщение #15


Level 10
***

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



Интересный вопросик.
У нас есть один момент - заходишь в локацию. На игрока накладывается СетКутСценеМод=Трю,
потом эффект - КутСценИнвизибл. Тоесть как бы началась сценка и игрока не видно, видно только НеПиСей.
Так вот стоит нажать Esc как игрок появляется и появляется панель управления игрока(HUD).
И во время кутсцены игрок уже может ходить вокруг "отыгрывающих" НПС.
Пробовал наложить на него СетКоммандэйбл(Фолс, оПС). Но это ничего не поненяло - жм у Esc игрок появляется, только двигатся не может.
В чем дело не пойму.
З.Ы. У меня НВН в окне, может из за этого?!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Jul 9 2004, 11:52
Сообщение #16


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

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



Может и из-за этого... Но скорее всего это из-за известного бага - ставить на онЭнтр локации катсцену нельзя... (IMG:style_emoticons/kolobok_light/sad.gif) Возможны кучи багов. Лучше поставить триггер при входе в локу и на него вешать катсцену.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Jul 9 2004, 14:20
Сообщение #17


Level 8
***

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



Нет. Ав, тебе надо было сначала у меня спросить. Просто я в своем моде для теста (вдруг с катсценой что не так) на он_катсцен_абортед поставил снятие всех эффектов + рестор положения камеры :-)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2GoDoom
сообщение Jul 12 2004, 14:15
Сообщение #18


Level 11
***

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



Подскажите что тут не правильно...

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"); //Стоит в комнате за дверью oDoor
effect eDis = EffectDisappear(0);

if(!GetIsPC(oPC))
  return;
{
  SetCutsceneMode(oPC); //Включается катсцена
  ActionDoCommand(SetCameraFacing(180.0, 15.0, 50.0, CAMERA_TRANSITION_TYPE_SLOW));
  ActionWait(1.0);
  ActionDoCommand(AssignCommand(oNPC1, SetFacing(270.0))); //НПС смотрит на юг (потмоу как там второй НПС)
ActionDoCommand(AssignCommand(oNPC1, SpeakString("Ты тупой казел!", TALKVOLUME_TALK)));
  ActionDoCommand(AssignCommand(oNPC2, SetFacing(90.0))); //Поворачивает голову на север - если она смотрит не на север, и отвечает...
  ActionDoCommand(AssignCommand(oNPC2, SpeakString("Завались, баран!", TALKVOLUME_TALK)));
  ActionDoCommand(AssignCommand(oNPC1, SpeakString("Ты нарвалсЯ, ублюдок!", TALKVOLUME_TALK))); //Здесь мне влом прикручивать YA было (IMG:style_emoticons/kolobok_light/smile.gif)
  ActionDoCommand(AssignCommand(oNPC1, ActionMoveToObject(oNPC2, TRUE, 1.0))); //Первый Непись подходит ко второму
  ActionDoCommand(AssignCommand(oNPC1, ActionAttack(oNPC2, TRUE))); //Атаковать второго НПС (не пашет)
  ActionWait(5.0); //Ждем покуда оин подерутся какое-то время
  ActionDoCommand(AssignCommand(oPC, SetFacingPoint(GetPosition(oDoor)))); //Поворачиваемся к двери, а далее совсем смешно...
  ActionDoCommand(AssignCommand(oDoor, ActionOpenDoor(OBJECT_SELF))); //Дверь открывается
  ActionDoCommand(AssignCommand(oNPC3, ActionMoveToObject(oNPC1, TRUE, 1.0))); //Непись не идет
  ActionDoCommand(AssignCommand(oDoor, ActionCloseDoor(OBJECT_SELF))); //Дверь закрывается
  ActionDoCommand(AssignCommand(oNPC3, PlayAnimation(ANIMATION_LOOPING_GET_MID, 1.0, 2.0))); //Анимация хз - проигрывается или нет
  ActionDoCommand(AssignCommand(oNPC3, ActionMoveToObject(oNPC2, TRUE, 1.0))); //Тоже что и выше (ну это типа в наручники заковывает
  ActionDoCommand(AssignCommand(oNPC3, PlayAnimation(ANIMATION_LOOPING_GET_MID, 1.0, 2.0)));
  ActionDoCommand(AssignCommand(oNPC1, ActionForceFollowObject(oNPC3, 0.0))); //Идут к Неписю, который остался стоять в предыдущей комнатке
  ActionDoCommand(AssignCommand(oNPC2, ActionForceFollowObject(oNPC3, 0.0)));
  ActionDoCommand(AssignCommand(oNPC3, ActionMoveToObject(oDoor, FALSE, 1.0)));
  ActionDoCommand(AssignCommand(oDoor, ActionOpenDoor(OBJECT_SELF)));
  ActionDoCommand(AssignCommand(oNPC3, ActionMoveToObject(oWP, FALSE, 0.0)));
  ActionWait(1.0);
  ActionDoCommand(DestroyObject(oNPC1, 0.0));
  ActionDoCommand(DestroyObject(oNPC2, 0.0));
  ActionDoCommand(DestroyObject(oNPC3, 0.0));
  ActionDoCommand(DestroyObject(OBJECT_SELF, 0.0)); //Кстати сам триггер тоже удаляется, где-то слышал что говорили - что их нельзя удалить и т.п.
  ActionDoCommand(SetCutsceneMode(oPC, FALSE));
}

}


Что самое обидное - они не подравшись, и кстати за ними не пришел мент из комнаты, начинают бежать к двери и пропадают не добежав. А дверь открылась. (IMG:style_emoticons/kolobok_light/smile.gif)
Подскажите плиз
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Jul 12 2004, 15:02
Сообщение #19


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

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



А скрипт на чем стоит? Триггер? Лока? Еще что?..
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2GoDoom
сообщение Jul 12 2004, 15:32
Сообщение #20


Level 11
***

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



Триггер OnEnter
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
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 использовать-изврат чистой воды.
Но в общем-то, респект.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



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