dosinabox / g2nr_unofficial_update

Исходники скриптов, релизы, хотфиксы и тестовые версии неофициального обновления для игры "Готика 2: Ночь Ворона".
https://worldofplayers.ru/threads/36817
The Unlicense
15 stars 1 forks source link

Телепортация НПС #198

Closed Kor-Angar closed 4 years ago

Kor-Angar commented 4 years ago

Q - хотел посмотреть как Милтен телепортируется A - вот здесь делала: https://worldofplayers.ru/threads/39062/

Kor-Angar commented 4 years ago

https://www.youtube.com/watch?v=i8q_1KpOuhg

    Npc_ExchangeRoutine(self,"RitualInnosEyeRepair");
    AI_Output(self,other,"DIA_Xardas_RITUALREQUEST_14_05"); //Не стоит заставлять Ватраса ждать. Я отправляюсь немедленно. А ты должен выполнить свою задачу, а затем присоединиться ко мне опять.
//  AI_GotoWP(self,"NW_XARDAS_START");
//  AI_Output(self,other,"DIA_Xardas_Hello_14_15"); //(задумчиво) У нас очень мало времени.
    AI_PlayAni  (self,"T_MAGRUN_2_HEASHOOT");   
    Info_AddChoice(DIA_Xardas_EXIT,"...",DIA_Xardas_Teleport);
};

func void DIA_Xardas_Teleport()
{
    Wld_PlayEffect("SPELLFX_TELEPORT",  self, self, 0, 0, 0, FALSE );
    AI_StopProcessInfos(self);
    AI_Teleport(self,"NW_TROLLAREA_RITUAL_01"); 
};
Kor-Angar commented 4 years ago

и так пробовал и эдак :-) https://www.youtube.com/watch?v=5LP1B26tz0k&feature=youtu.be

instance DIA_Xardas_Teleport(C_Info)
{
    npc = NONE_100_Xardas;
    nr = 77;
    condition = DIA_Xardas_Teleport_Condition;
    information = DIA_Xardas_Teleport_Info;
    permanent = FALSE;
    important = TRUE;
};

func int DIA_Xardas_Teleport_Condition()
{
//  if(Xardas_GoesToRitualInnosEye == TRUE)
    if(Xardas_GoesToRitualInnosEye == FALSE) // для теста
    {
        return TRUE;
    };
};

func void DIA_Xardas_Teleport_Info()
{
//  AI_GotoWP(self,"NW_XARDAS_START");
    Npc_ExchangeRoutine(self,"RitualInnosEyeRepair");
    AI_PlayAni  (self,"T_MAGRUN_2_HEASHOOT");
    Wld_PlayEffect("spellFX_Teleport_RING",  self  , self    , 0, 0, 0, TRUE);
    AI_Output(self,other,"DIA_Xardas_Hello_14_15"); //(задумчиво) У нас очень мало времени.

//  Info_AddChoice(DIA_Xardas_Teleport,"Подожди минутку!",DIA_Xardas_TeleportGO);
//  Info_AddChoice(DIA_Xardas_Teleport,"...",DIA_Xardas_TeleportGO);
    Info_AddChoice(DIA_Xardas_Teleport,"Я немедленно отправляюсь в путь!",DIA_Xardas_TeleportGO);

};

func void DIA_Xardas_TeleportGO()
{
    B_Say_Overlay(other,other,"DIA_Xardas_FirstEXIT_15_00");  //Я немедленно отправляюсь в путь!
//  B_Say_Overlay(other,other,"$SC_HeyWaitASecond");          //Подожди минутку!
    AI_StopProcessInfos(self);
    Wld_PlayEffect("SPELLFX_TELEPORT",  self, self, 0, 0, 0, FALSE );   
    AI_Teleport(self,"NW_TROLLAREA_RITUAL_01"); 
};
Kor-Angar commented 4 years ago

вариант с "вариантами" в духе Ксардаса, аллюзия выбора :-)) https://www.youtube.com/watch?v=OfKMwqcVJag&feature=youtu.be

instance DIA_Xardas_Teleport(C_Info)
{
    npc = NONE_100_Xardas;
    nr = 77;
    condition = DIA_Xardas_Teleport_Condition;
    information = DIA_Xardas_Teleport_Info;
    permanent = FALSE;
    important = TRUE;
};

func int DIA_Xardas_Teleport_Condition()
{
//  if(Xardas_GoesToRitualInnosEye == TRUE)
    if(Xardas_GoesToRitualInnosEye == FALSE) // для теста
    {
        return TRUE;
    };
};

func void DIA_Xardas_Teleport_Info()
{
//  AI_GotoWP(self,"NW_XARDAS_START");
    Npc_ExchangeRoutine(self,"RitualInnosEyeRepair");
    AI_PlayAni  (self,"T_MAGRUN_2_HEASHOOT");
    Wld_PlayEffect("spellFX_Teleport_RING",  self  , self    , 0, 0, 0, TRUE);
    AI_Output(self,other,"DIA_Xardas_Hello_14_15"); //(задумчиво) У нас очень мало времени.

    Info_AddChoice(DIA_Xardas_Teleport,"Подожди минутку!",DIA_Xardas_TeleportGO1);
    Info_AddChoice(DIA_Xardas_Teleport,"Я немедленно отправляюсь в путь!",DIA_Xardas_TeleportGO2);
//  Info_AddChoice(DIA_Xardas_Teleport,"...",DIA_Xardas_TeleportGO);

};

func void DIA_Xardas_TeleportGO1()
{
    B_Say_Overlay(other,other,"$SC_HeyWaitASecond");          //Подожди минутку!
    AI_StopProcessInfos(self);
    Wld_PlayEffect("SPELLFX_TELEPORT",  self, self, 0, 0, 0, FALSE );   
    AI_Teleport(self,"NW_TROLLAREA_RITUAL_01"); 
};

func void DIA_Xardas_TeleportGO2()
{
    B_Say_Overlay(other,other,"DIA_Xardas_FirstEXIT_15_00");  //Я немедленно отправляюсь в путь!
    AI_StopProcessInfos(self);
    Wld_PlayEffect("SPELLFX_TELEPORT",  self, self, 0, 0, 0, FALSE );   
    AI_Teleport(self,"NW_TROLLAREA_RITUAL_01"); 
};
Kor-Angar commented 4 years ago

Справка

Wld_PlayEffect("spellFX_Teleport_RING", self , self , 0, 0, 0, TRUE); // синий круг вокруг колдующего Wld_PlayEffect("SPELLFX_TELEPORT", self, self, 0, 0, 0, FALSE ); // эффект появления при телепортации

Сдерживать_Магию_В_Теле S_FEASHOOT Сдерживать_Магию_Одна_Рука T_WNDCAST Сдерживать_Магию_Две_Руки S_FIBCAST Телепортация T_MAGRUN_2_HEASHOOT


покидай сюда по возможности анимации которые имеют отношение или могут быть использованы в телепортации