Помощь - Поиск - Пользователи - Календарь
Полная версия: ПОСТРОЕНИЕ СКРИПТОВЫХ СЦЕН
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset
Страницы: 1, 2, 3, 4, 5
Aiwan
RoHaN привет. Статья моя, вот и все совпадения. pardon.gif
QUOTE (RoHaN @ Dec 27 2005, 11:11)
Важно то, что у меня перестали работать Цутсценьы !!!!!!!!!!!!! Что такое ??????!!!!!!!!!

Что значит перестали? Скажи что ты сделал, что так произошло?
RoHaN
Помогите PLZ . У меня перестали работать Кутсцены !!!!!!!!!! Я в недоумении, подскажите, что делать ???????
Добавлено в [mergetime]1135773618[/mergetime]
Как сдеать чтобы трупы не убирались сами по себе с поля боя ????????
Добавлено в [mergetime]1135774008[/mergetime]
{Обясняю}В своём модуле я сделал несколько не сложных сценок (порядка 4-5). А потом делаю очередной триггер со сценкой, а он отказывается работать !!!!!!!!!!!!!
Dik Morris
QUOTE
Как сдеать чтобы трупы не убирались сами по себе с поля боя ????????

Свойства NPC - улучшенный - время разложения. (там настрой нужное время, вообще подобные вопросы, лучше постить в других темах, например в: "Одиночный вопрос".)
QUOTE
{Обясняю}В своём модуле я сделал несколько не сложных сценок (порядка 4-5). А потом делаю очередной триггер со сценкой, а он отказывается работать !!!!!!!!!!!!!

Повторяю приведи код, скажи куда ставишь скрипт, обьясни ситуацию. Телепатией вроде не владеем, а причин чтоб не работало может быть оч. много... wink.gif
Lex
ТЕМА: ПОСТРОЕНИЕ СКРИПТОВЫХ СЦЕН, Основы написания Cutscene
QUOTE (RoHaN @ Dec 28 2005, 15:37)
Как сдеать чтобы трупы не убирались сами по себе с поля боя ????????

Объяснишь связь между темой и вопросом?

Топай в "Вопросы Новичков". (по проблемам незапуска сценок тоже туда).
\\ пока преды не поставил.
RoHaN
Привет народ !
Это снова я biggrin.gif . Долго не мог прочитать ваши ответы. т.к. деньги коньчились .
Можно ещё раз про время разложения трупов PLZ . И ещё свой модуль, котором я уже упоминал, почти закончен . Большой вам РЕСПЕКТ за оказанную помощь .[COLOR=gray]
DEM
Как я знаю разложение трупов настраивается через свойства объекта...
Elf-Drow
Здрасьте, вот делал сценку на основе Айванской и решил добавить спелл огненного шара, но ничего не вышло, вот пример, делал как было показано в тулсете...

NSS
//::///////////////////////////////////////////////
//:: Copyright © 2004 WRG!
//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 7.08.2004
//:://////////////////////////////////////////////

void main()
{
object oPC = GetPCSpeaker();
object oNPC = GetObjectByTag("NPC_UPIR");
object oDoor = GetNearestObjectByTag("DOOR1");
object oLuk = GetNearestObjectByTag("PORTAL");
object oSec = OBJECT_SELF;
object oWPpc = GetWaypointByTag("WP_PC1");
object oWPpc2 = GetWaypointByTag("WP_PC2");
object oWP1 = GetWaypointByTag("UPIR1");
object oWP2 = GetWaypointByTag("UPIR2");
object oWP3 = GetWaypointByTag("UPIR3");
object oWP4 = GetWaypointByTag("UPIR4");
object oWP5 = GetWaypointByTag("UPIR5");
object oAnimal = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oPC);
object oDominated = GetAssociate(ASSOCIATE_TYPE_DOMINATED, oPC);
object oFamiliar = GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oPC);
object oHenchman = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC);
object oSummoned = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oPC);
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
effect eCutInv = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
effect eCutPar = EffectCutsceneParalyze();
    {
    SetLocalInt(oPC, "CUT_SCEN_02", TRUE);
    SetLocalLocation(oPC,"START_POINT", GetLocation(oPC));
    AssignCommand(oSec, ActionPauseConversation());
    AssignCommand(oNPC, ClearAllActions()); 
    AssignCommand(oNPC, ActionJumpToObject(oWP1));
    AssignCommand(oNPC, ActionDoCommand(SetFacingPoint(GetPosition(oDoor))));
    FadeToBlack(oPC, FADE_SPEED_FASTEST);
    AssignCommand(oPC, ClearAllActions());   
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutInv, oPC, 41.0);
    SetCutsceneMode(oPC); 
    SetAILevel(oNPC, AI_LEVEL_HIGH);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutPar, oAnimal, 40.5);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutInv, oAnimal, 40.5);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutPar, oHenchman, 40.5);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutInv, oHenchman, 40.5);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutPar, oDominated, 40.5);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutInv, oDominated, 40.5);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutPar, oFamiliar, 40.5);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutInv, oFamiliar, 40.5);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutPar, oSummoned, 40.5);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutInv, oSummoned, 40.5);
    DelayCommand(1.0, AssignCommand(oPC, JumpToObject(oWPpc)));
    DelayCommand(1.5, AssignCommand(oPC, SetCameraFacing(10.0, 12.0, 40.0, CAMERA_TRANSITION_TYPE_SNAP)));
    DelayCommand(2.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
    DelayCommand(2.5, AssignCommand(oPC, ClearAllActions()));
    DelayCommand(3.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_LOOK_FAR, 0.9, 5.0)));
    DelayCommand(3.5, AssignCommand(oPC, SetCameraFacing(10.0, 20.0, 40.0, CAMERA_TRANSITION_TYPE_SLOW)));
    // Повернем ракурс камеры
    DelayCommand(4.0, AssignCommand(oNPC, SpeakString("Должен есть мозги!")));
    DelayCommand(5.0, AssignCommand(oNPC, ActionMoveToObject(oWP2)));
    DelayCommand(7.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_MID, 0.9, 3.0)));
    DelayCommand(8.0, AssignCommand(oNPC, SpeakString("Должен найти!")));
    DelayCommand(9.5, AssignCommand(oNPC, ActionForceMoveToObject(oWP3, TRUE, 1.0, 7.0)));
    DelayCommand(10.0, AssignCommand(oNPC, ActionDoCommand(SetFacingPoint(GetPosition(oWP3)))));
    DelayCommand(11.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_MID, 0.9, 5.0)));
    DelayCommand(12.0, AssignCommand(oPC, ClearAllActions()));
    DelayCommand(12.5, FadeToBlack(oPC, FADE_SPEED_FASTEST));
    DelayCommand(13.5, AssignCommand(oPC, JumpToObject(oWPpc2)));
    DelayCommand(13.6, AssignCommand(oPC, SetCameraFacing(130.0, 20.0, 40.0, CAMERA_TRANSITION_TYPE_SNAP)));
    DelayCommand(14.5, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
//==============================================================================
    DelayCommand(17.0, AssignCommand(oNPC, ActionDoCommand(SetFacingPoint(GetPosition(oDoor)))));
    DelayCommand(19.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_LOOK_FAR, 0.9, 3.0)));
    DelayCommand(20.0, AssignCommand(oNPC, SpeakString("Сожру его мозги позже! Надо сваливать!")));
    DelayCommand(21.0, AssignCommand(oNPC, ActionCastSpellAtObject(int nFireball, object oNPC3, int nMetaMagic=METAMAGIC_FIRE, int bCheat=FALSE, int nDomainLevel=0, int nProjectilePathType_FIRE=PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell=TRUE); // Именно здесь я делаю спелл огненного шара. Делал как написано в тулсете
    DelayCommand(24.0, AssignCommand(oNPC, ActionForceMoveToObject(oWP4, FALSE, 1.0, 15.0)));
    DelayCommand(27.0, AssignCommand(oNPC, ActionDoCommand(SetFacingPoint(GetPosition(oWP5)))));
    DelayCommand(28.0, AssignCommand(oPC, ClearAllActions()));
    DelayCommand(28.6, AssignCommand(oPC, SetCameraFacing(130.0, 10.0, 40.0, CAMERA_TRANSITION_TYPE_SLOW)));
    DelayCommand(28.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 0.9, 3.0)));
    DelayCommand(33.0, AssignCommand(oLuk, ActionPlayAnimation(ANIMATION_PLACEABLE_OPEN, 1.0)));
    DelayCommand(36.5, AssignCommand(oNPC, ClearAllActions()));
    DelayCommand(33.0, AssignCommand(oNPC, ActionMoveToObject(oWP5)));
    DelayCommand(39.5, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 3.0, 1.0)));
    DelayCommand(40.5, AssignCommand(oNPC, ClearAllActions()));
    DelayCommand(40.8, AssignCommand(oNPC, ActionDoCommand(DestroyObject(oNPC))));   
    DelayCommand(41.5, AssignCommand(oLuk, ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE, 2.0)));
    DelayCommand(42.0, AssignCommand(oPC, ClearAllActions()));   
    DelayCommand(42.5, FadeToBlack(oPC, FADE_SPEED_FASTEST));
    DelayCommand(43.5, AssignCommand(oPC, ActionJumpToLocation(GetLocalLocation(oPC,"START_POINT"))));
    DelayCommand(44.5, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));   
    DelayCommand(45.5, AssignCommand(oSec, ActionResumeConversation()));
    DelayCommand(46.0, SetCutsceneMode(oPC, FALSE));
    }
}
-fenix-
Elf-Drow, закрывай тег - [/NSS] !!!

По заклу. Тебе ведь редкатор показывает, что строчка не правильная!

NSS
void ActionCastSpellAtObject(int nSpell, object oTarget, int nMetaMagic=METAMAGIC_ANY, int bCheat=FALSE, int nDomainLevel=0, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell=FALSE)

void - показывает, что функция не возвращает значений.

ActionCastSpellAtObject - название функции

int nSpell, object oTarget, int nMetaMagic=METAMAGIC_ANY, int bCheat=FALSE, int nDomainLevel=0, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell=FALSE - параметры функции

В параметрах:
int, object... тип данных, которые должны записываться в этот параметр.
oTarget, nMetaMagic... - это название параметра, тебе это писать не надо, это самой функцией используется.
Ты замест int nSpell, object oTarget... должен написать нужное тебе и подходящее по смыслу.

Как-то путано, но ладно, покажу наглядно. Посмотри, как это должно записываться.
NSS
DelayCommand(21.0, AssignCommand(oNPC, ActionCastSpellAtObject(SPELL_FIREBALL, oNPC3, METAMAGIC_FIRE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, TRUE);

Понятно?
[MoF]Darth_Nick
2RoHaN
http://nwcustom.jino-net.ru/upload/loot_courpse.gif
если у тебя русская, посмотри по расположению вкладки
Elf-Drow
Теперь более менее, а именно так нужно записывать или можно как-нибудь покороче? Я видел пару скриптов которые можно было записывать или мега длинно или коротко...
-fenix-
QUOTE(Elf-Drow @ Mar 29 2006, 11:30) [snapback]75009[/snapback]
Теперь более менее, а именно так нужно записывать или можно как-нибудь покороче? Я видел пару скриптов которые можно было записывать или мега длинно или коротко...

Ты о чем?

Если о кол-ве параметров в функции, там это смотря устраивают тебя дефолтные или нет.

Стандартно функция выглядет так:
NSS
void ActionCastSpellAtObject(int nSpell, object oTarget, int nMetaMagic=METAMAGIC_ANY, int bCheat=FALSE, int nDomainLevel=0, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell=FALSE)

int nSpell и object oTarget, всегда должны быть тобой указаны, так как по умолчанию задать этот параметр не льзя, вернее не имеет смысла.
У всех остальных параметров есть дефолтная настройка, такие как: int nMetaMagic=METAMAGIC_ANY, int bCheat=FALSE... Тобишь, если тебя устраивает METAMAGIC_ANY, то ты можешь данный параметр вообще не писать, он по дефолту стоит равным METAMAGIC_ANY.
Но есть одно НО, если тебя не устраивает дефолт кокого-нить параметра, то прейдется писать и все параметры до него. Вот и получается, что если тебя все устраивает ты запишешь
NSS
DelayCommand(21.0, AssignCommand(oNPC, ActionCastSpellAtObject(SPELL_FIREBALL, oNPC3)));

А если не устраивает последний, то
NSS
DelayCommand(21.0, AssignCommand(oNPC, ActionCastSpellAtObject(SPELL_FIREBALL, oNPC3, METAMAGIC_FIRE, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, TRUE)));


Ты об этом спрашивал?
Elf-Drow
Да об этом, все работает, но только не ActionCastSpellAtObject а ActionCastFakeSpellAtObject, то есть иллюзия. Почему НПС не может колдовать, а делает тока иллюзию?
-fenix-
QUOTE(Elf-Drow @ Mar 30 2006, 15:46) [snapback]75274[/snapback]
Да об этом, все работает, но только не ActionCastSpellAtObject а ActionCastFakeSpellAtObject, то есть иллюзия. Почему НПС не может колдовать, а делает тока иллюзию?

Для колдовства нужно:
1) Чтобы НПС знал и мог пользоваться данным заклинанием.
2) Чтобы он мог достать этим заклинанием до жертвы. Тобишь расстояние подходящие.
Elf-Drow
При создании сценки я руководствовался тем же. Поставил НПС 30 уровень волшебника, 20 колдуна, на всякий. biggrin.gif Потом поставил галочку на то, чтобы файрбол был как бы готов у НПС и он мог его использовать. Но НПС в то, время, когда должен колдовать тупо стоит, а затем продолжает выполнять последующие действия, плевав на колдовство...
-fenix-
QUOTE(Elf-Drow @ Mar 31 2006, 06:31) [snapback]75425[/snapback]
Но НПС в то, время, когда должен колдовать тупо стоит, а затем продолжает выполнять последующие действия, плевав на колдовство...

QUOTE(-fenix- @ Mar 30 2006, 17:36) [snapback]75301[/snapback]
2) Чтобы он мог достать этим заклинанием до жертвы. Тобишь расстояние подходящие.

Может дело в этом?
Покажи эту строчку с кастом.
Elf-Drow
Вот
NSS
DelayCommand(5.0, AssignCommand(oNPC, ActionCastFakeSpellAtObject(SPELL_FIREBALL, oNPC1)));
-fenix-
Elf-Drow, ну эта ведь у тебя работает.
У тебя с ActionCastSpellAtObject не работает, так вот, покажи как ты пишешь с ActionCastSpellAtObject. Ты уверен, что непись может скаставать этот закл на нужный объект, ему ни чего не мешает, например расстояние?
Возможно, что ты не правильно настраиваешь закл у мага. Чтобы этого избежать на 100% в функции
NSS
void ActionCastSpellAtObject( int nSpell,object oTarget, int nMetaMagic = METAMAGIC_ANY, int bCheat = FALSE, int nDomainLevel = 0, int nProjectilePathType = PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell = FALSE)

параметр bCheat поставь TRUE. Если так напишешь, то для чтение закла маг не будет обязан его знать.


Еще, проверь объект, на который твой НПС кастует, возможно, ты в скрипте указал не его ТЕГ или написал его с ошибкой.
Elf-Drow
NSS
DelayCommand(5.0, AssignCommand(oNPC, ActionCastSpellAtObject(SPELL_FIREBALL, oNPC1)));

Точно так же. Но я проверю с TRUE...
С TRUE работает!!! Но не наносится дамаг НПС
Все хорошо, продолжаю делать модуль...
Chimeric
Может быть, этот вопрос уже задавался, но тем не менее: как сделать так, чтобы диалог нельзя было прервать (тот "бокс" в Свойствах не делает ничего) и при этом скрывался интерфейс? Например, с такого разговора начинается модуль Kingmaker. Очень впечатляюще.
Dik Morris
Нужно просто установить режим кутсцены.
NSS
void SetCutsceneMode(
    object oCreature,
    int nInCutscene = TRUE
);

QUOTE
с такого разговора начинается модуль Kingmaker

Не знаю, не играл. smile.gif
Lex
QUOTE(Chimeric @ May 4 2006, 18:21) [snapback]80750[/snapback]
тот "бокс" в Свойствах не делает ничего)

он для другого.
зы: не забыть после разговора катсцену снять.
Chimeric
Сейчас у меня стоит вот что в ActionTaken первых строк разговора, принадлежащих NPC.

NSS
void main()
{

SetCutsceneMode(GetPCSpeaker(), TRUE);

}


Результат: разговор не происходит, начинается фильм, из которого не выбраться не Эскейпом и никак иначе.
Dik Morris
Попробуй установить режим кутсцены до начала диалога.
(Например при наступании на триггер, вход в локу и т.п...)
Chimeric
Что же мне, каждый раз так изворачиваться? У меня диалогов тьма. Пробовал, между прочим, вписать OWNER_SELF через oTarget вместо игрока, тогда вообще ничего не происходит.
Lex
не, зачем же так?
стандартный скрипт на начало разговора nw_c2_default4 берем и впихиваем туда сценку:

NSS
//:://////////////////////////////////////////////////
//:: nw_c2_default4
/*
  Default OnConversation event handler for NPCs.

*/

//:://////////////////////////////////////////////////
//:: Copyright © 2002 Floodgate Entertainment
//:: Created By: Naomi Novik
//:: Created On: 12/22/2002
//:://////////////////////////////////////////////////

#include "nw_i0_generic"

void main()
{
    // See if what we just 'heard' matches any of our
    // predefined patterns
    int nMatch = GetListenPatternNumber();
    object oShouter = GetLastSpeaker();
    object oSelf = OBJECT_SELF;

    if (nMatch == -1)
    {
        // Not a match -- start an ordinary conversation
        if (GetCommandable(OBJECT_SELF))
        {
            if (GetIsPC(oShouter))
                SetCutsceneMode(oShouter, TRUE); // наша катсцена
            ClearAllActions();
            BeginConversation();
        }
    }
    // Respond to shouts from friendly non-PCs only
    else if (GetIsObjectValid(oShouter)
              && !GetIsPC(oShouter)
              && GetIsFriend(oShouter))
    {
        object oIntruder = OBJECT_INVALID;
        // Determine the intruder if any
        if(nMatch == 4)
        {
            oIntruder = GetLocalObject(oShouter, "NW_BLOCKER_INTRUDER");
        }
        else if (nMatch == 5)
        {
            oIntruder = GetLastHostileActor(oShouter);
            if(!GetIsObjectValid(oIntruder))
            {
                oIntruder = GetAttemptedAttackTarget();
                if(!GetIsObjectValid(oIntruder))
                {
                    oIntruder = GetAttemptedSpellTarget();
                    if(!GetIsObjectValid(oIntruder))
                    {
                        oIntruder = OBJECT_INVALID;
                    }
                }
            }
        }

        // Actually respond to the shout
        RespondToShout(oShouter, nMatch, oIntruder);
    }

    // Send the user-defined event if appropriate
    if(GetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT))
    {
        SignalEvent(OBJECT_SELF, EventUserDefined(EVENT_DIALOGUE));
    }
}
Elf-Drow
По моему, достаточно просто сделать так:
З.Ы.:В своем модуле проверял...
NSS
void main()
{
SetCutsceneMode(GetFirstPC());
ActionStartConversation(GetFirstPC(), "Res Ref диалога");
}


Можно на триггер какой-нить поставить или но OnConversation, но дык на энто не пробовал...
-fenix-
QUOTE(Elf-Drow @ May 5 2006, 16:31) [snapback]80835[/snapback]
Можно на триггер какой-нить поставить или но OnConversation, но дык на энто не пробовал...

Стандартный диалоговый скрипт (nw_c2_default4) есть у каждого НПС после его размещения на карте. Зачем находить себе лишний геморой, если можно одну строчку написать?
Lex
не знаю как ты проверял, но данный скрипт на триггере запустит диалог с триггером в режиме катсцены. а надо то с НПС.
Chimeric
Что ж, рецепт Феникса помог. Штука, конечно, в том, что теперь на все-все ветки в конце придется ставить скрипт, выключающий режим фильма...
Neo
Chimeric wink3.gif дык есть и стандартный скрипт запускаемый при завершении диалога, добавь еще и туда строчку
Aiwan
Хм. Данную проблему решал давно и с успехом. Извиняюсь что так поздно заглянул в тему...
В каждом диалоге, создаешь служебную корневую строку В САМОМ ВЕРХУ. Она никогда не появится, но будет работать на нас. На нее вешаешь скрипт первый. Самое главное запомни, если на РС навешать функцию катсцены два раза или три то будут глюки. Это даже в комментах биовар есть. Второй скрипт вешаешь на строку в диалоге. Все.
NSS
//:://////////////////////////////////////////////
//:: Включаем РС режим катсцены
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 30.12.2005
//:://////////////////////////////////////////////

int StartingConditional()
{
    object oPC = GetPCSpeaker();
    object oSelf = OBJECT_SELF;
//-------------------------------------------------------
    if(GetCutsceneMode(oPC)==FALSE)
    {
      SetCutsceneMode(oPC, TRUE);
      AssignCommand(oSelf, ClearAllActions(TRUE));
      AssignCommand(oSelf, ActionStartConversation(oPC));
    }
    return FALSE;
}


NSS
//:://////////////////////////////////////////////
//:: Отключает РС режим катсцены
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 30.12.2005
//:://////////////////////////////////////////////

void main()
{
    object oPC = GetPCSpeaker();
    if(GetCutsceneMode(oPC)==TRUE)
    {
      SetCutsceneMode(oPC, FALSE);
    }
}


QUOTE(Chimeric @ May 5 2006, 21:45) [snapback]80877[/snapback]
выключающий режим фильма...

Проверь на хертбите НПС, если он разговаривает и с объектом РС, то ретурн. Если не разговаривает то катсцену удали у РС. Так в ПЛ было.
Lex
QUOTE(Aiwan @ May 5 2006, 20:16) [snapback]80883[/snapback]
Проверь на хертбите НПС, если он разговаривает и с объектом РС, то ретурн. Если не разговаривает то катсцену удали у РС. Так в ПЛ было.

там было на хб модуля
-fenix-
А еще проще поставить Alternative Core и все глобальные события как на ладоне. biggrin.gif
Nashman
привет,
доскажите почему на определенной фразе разговора не запускается КатСцена?
Такая же как на первой страничке первая катСцена от Айвана..
Lex
в режиме диалога катсцена не врубается, насколько я знаю. Надо до, или после.
Nashman
Lex, как определить конец диалога?
У меня кат-чцена была на последней фразе диалога sad.gif
Aiwan
Nashman, наши телепаты никак не могут тебе помочь? Могу сказать точную причину - ты что то затупил.
-fenix-
QUOTE(Aiwan @ May 11 2006, 10:11) [snapback]81353[/snapback]
Nashman, наши телепаты никак не могут тебе помочь?

Открываю третий глаз. biggrin.gif
QUOTE(Aiwan @ May 11 2006, 10:11) [snapback]81353[/snapback]
Могу сказать точную причину - ты что то затупил.

Судя по имеющейся инфе:
QUOTE(Nashman @ May 9 2006, 23:53) [snapback]81225[/snapback]
Такая же как на первой страничке первая катСцена от Айвана..

Ты что-то намудрил в проверке:
NSS
if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1)

Или что у тебя там.
Nashman
Мне нужно сделать такое(это ка-сценка):
Появляется ПС возле НПС, далее после разговора выбирается путь куда они пойдут, в зависимости от варианта ответа ПС...

ПС: Примерно такую сценку надо сделать smile.gif
Dik Morris
Nachman

Ну, а какие проблемы то ?
Отслеживай игрока, включай режим кутсцены, начинай диалог...

PS: готовый код в этой теме никто выкладывать не будет - тема не о том. smile.gif
Aiwan
Зачем сцека вообще? Там все в диалоге решается. Строка выход.
virusman
Модуль в первом посте топика отсутствует..
Aiwan
Тебе что надо то? Говори выложу smile.gif
Nashman
Спасибо Айв., но уже всеwink3.gif,
Только вопрос есть у меня, знаю не очень хороший, так, как ответ где-то видел но вот где не знаю....
Вопрос:
Как камерой управлять? Типа понять смыл этих цифр.
Dik Morris
QUOTE(Nashman @ May 20 2006, 18:21) [snapback]82380[/snapback]

Вопрос:
Как камерой управлять? Типа понять смыл этих цифр.


Читаем мануал:

QUOTE
CAMERA_TRANSITION_TYPE_SNAP немедленно переместит камеру на новую позицию, тогда как другие типы, перемещают постепенно в позицию.
CAMERA_TRANSITION_TYPE_MEDIUM - переместит камеру в то положение, которое мы укажем из исходного.

SetCameraFacing(0.0, 20.0, 45.0);
(0.0f=East, 90.0f=North, 180.0f=West, 270.0f=South) начертите на бумаге схему с градусами и сторонами света, вам будет удобнее ориентироваться.
20.0 удаление от игрока. (Мин 5 мах 20)
45.0 наклон (1 - вертикально, 50.0 мах почти в горизонт)
Neo
QUOTE(Dik Morris @ May 20 2006, 16:51) [snapback]82382[/snapback]
Если да, то читаем мануал...
хых, а следом за мануалом читаем ту никому не нужную инфу, которая написана рядом с функцией в nwscript:
CODE
// Change the direction in which the camera is facing
// - fDirection is expressed as anticlockwise degrees from Due East.
//   (0.0f=East, 90.0f=North, 180.0f=West, 270.0f=South)
// A value of -1.0f for any parameter will be ignored and instead it will
// use the current camera value.
// This can be used to change the way the camera is facing after the player
// emerges from an area transition.
// - nTransitionType: CAMERA_TRANSITION_TYPE_*  SNAP will immediately move the
//   camera to the new position, while the other types will result in the camera moving gradually into position
// Pitch and distance are limited to valid values for the current camera mode:
// Top Down: Distance = 5-20, Pitch = 1-50
// Driving camera: Distance = 6 (can't be changed), Pitch = 1-62
// Chase: Distance = 5-20, Pitch = 1-50
// *** NOTE *** In NWN:Hordes of the Underdark the camera limits have been relaxed to the following:
// Distance 1-25
// Pitch 1-89
void SetCameraFacing(float fDirection, float fDistance = -1.0f, float fPitch = -1.0, int nTransitionType=CAMERA_TRANSITION_TYPE_SNAP)

а следом можно еще и значения констант посмотреть wink3.gif
CODE
int CAMERA_TRANSITION_TYPE_SNAP = 0;
int CAMERA_TRANSITION_TYPE_CRAWL = 2;
int CAMERA_TRANSITION_TYPE_VERY_SLOW = 5;
int CAMERA_TRANSITION_TYPE_SLOW = 20;
int CAMERA_TRANSITION_TYPE_MEDIUM = 40;
int CAMERA_TRANSITION_TYPE_FAST = 70;
int CAMERA_TRANSITION_TYPE_VERY_FAST = 100;

таким образом скорость камеры можно регулировать не только стандартом biggrin.gif
-fenix-
QUOTE(Nashman @ May 20 2006, 16:21) [snapback]82380[/snapback]
Как камерой управлять? Типа понять смыл этих цифр.

Читаем первы пост.

Упс, третий ответ. За то человеку столько инфы дали. biggrin.gif

virusman
Под модулем я имел в виду то, что под надписью:
QUOTE(Aiwan @ May 9 2004, 15:27) [snapback]1839[/snapback]

ПРОДОЛЖЕНИЕ СКРИПТА СМОТРИТЕ В МОДУЛЕ!
Cutscene.rar ( 0 байт ) Кол-во скачиваний: 40
Noah
Добрый вечер,если кто знает,как отобразить в катсцене анимацию удара без самого удара напишите,очень надо!С уваж.Всем.
Dik Morris
Поиск юзай.

http://www.wrg.ru/forums/index.php?showtopic=731&st=2520
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.