Closed Kor-Angar closed 4 years ago
Техническое ограничение - анимации, эффекты, перемещения и распорядки опережают фразы диалогов. Поэтому предсказания вообще вынесены в отдельную опцию.
а если сделать вот так (первое предсказание через important = TRUE) ?:-)
Все предсказания через important = TRUE
instance DIA_Abuyin_Trance(C_Info)
{
npc = VLK_456_Abuyin;
nr = 2;
condition = DIA_Abuyin_Trance_Condition;
information = DIA_Abuyin_Trance_Info;
permanent = TRUE;
important = TRUE;
};
var int Abuyin_Trance;
var int DIA_Abuyin_Zukunft_permanent;
var int DIA_Abuyin_Zukunft2_permanent;
var int DIA_Abuyin_Zukunft3_permanent;
var int DIA_Abuyin_Zukunft4_permanent;
var int DIA_Abuyin_Zukunft5_permanent;
func int DIA_Abuyin_Trance_Condition()
{
if(Abuyin_Trance == true) // Абуин готов к трансу
{
return TRUE;
};
};
func void DIA_Abuyin_Trance_Info()
{
Abuyin_Trance = false; // Абуин не готов к трансу
AI_PlayAni(self,"T_MAGRUN_2_HEASHOOT");
Wld_PlayEffect("SPELLFX_TELEPORT",self,self,0,0,0,FALSE);
if (Kapitel == 1)
{
AI_Output(self,other,"DIA_Abuyin_Zukunft_Trance_13_00"); //(в трансе) Орки... они охраняют вход... старый туннель... Долина Рудников...
AI_Output(self,other,"DIA_Abuyin_Zukunft_Trance_13_01"); //(в трансе) Люди в сверкающих доспехах... маг... твой друг с ними... он ждет тебя...
AI_Output(self,other,"DIA_Abuyin_Zukunft_Trance_13_02"); //(в трансе) Огонь! Нападение... могучего существа... пламя... многие... погибнут...
AI_Output(self,other,"DIA_Addon_Abuyin_Zukunft_Trance_13_00"); //(в трансе) ...Что это?.. Город... Руины... Куарходрон из Яркендара...
AI_Output(self,other,"DIA_Addon_Abuyin_Zukunft_Trance_13_01"); //(в трансе) ...Он был призван... Куарходрон из Яркендара!
AI_PlayAni(self,"T_HEASHOOT_2_STAND");
AI_Output(self,other,"DIA_Abuyin_Zukunft_Trance_13_03"); //Извини - видение кончилось. Больше я ничего не смог увидеть.
DIA_Abuyin_Zukunft_permanent = TRUE;
Abuyin_Zukunft = 1;
// Info_ClearChoices(DIA_Abuyin_Zukunft);
}
else if (Kapitel == 2)
{
AI_Output(self,other,"DIA_Abuyin_Zukunft2_Trance_13_00"); //(в трансе) Наемник... ему нужен ты... ужасное убийство... Глаз...
AI_Output(self,other,"DIA_Abuyin_Zukunft2_Trance_13_01"); //(в трансе) Зловещие приспешники... они идут... ищут тебя... страж падет...
AI_Output(self,other,"DIA_Abuyin_Zukunft2_Trance_13_02"); //(в трансе) ...но трое должны объединиться... только тогда ты получишь то, что должно принадлежать тебе...
AI_PlayAni(self,"T_HEASHOOT_2_STAND");
AI_Output(self,other,"DIA_Abuyin_Zukunft2_Trance_13_03"); //Это все. Больше я ничего не смог увидеть.
DIA_Abuyin_Zukunft2_permanent = TRUE;
Abuyin_Zukunft = 2;
Info_ClearChoices(DIA_Abuyin_Zukunft2);
}
else if (Kapitel == 3)
{
AI_Output(self,other,"DIA_Abuyin_Zukunft3_Trance_13_00"); //(в трансе) Ты должен пробиться... это суждено только тебе...
AI_Output(self,other,"DIA_Abuyin_Zukunft3_Trance_13_01"); //(в трансе) ...сквозь огонь и снег... сквозь лед и пламя...
AI_Output(self,other,"DIA_Abuyin_Zukunft3_Trance_13_02"); //(в трансе) Люди в странных доспехах... болото... ящеры... они ждут тебя...
AI_PlayAni(self,"T_HEASHOOT_2_STAND");
AI_Output(self,other,"DIA_Abuyin_Zukunft3_Trance_13_03"); //Это все. Больше я ничего не смог увидеть.
DIA_Abuyin_Zukunft3_permanent = TRUE;
Abuyin_Zukunft = 3;
// Info_ClearChoices(DIA_Abuyin_Zukunft3);
}
else if (Kapitel == 4)
{
AI_Output(self,other,"DIA_Abuyin_Zukunft4_Trance_13_00"); //(в трансе) Место знаний... другая страна... темное место далеко-далеко...
AI_Output(self,other,"DIA_Abuyin_Zukunft4_Trance_13_01"); //(в трансе) Мужественные спутники... ты должен сделать выбор...
AI_Output(self,other,"DIA_Abuyin_Zukunft4_Trance_13_02"); //(в трансе) Храм... стоит одиноко в царстве Аданоса... покрытый туманом...
AI_PlayAni(self,"T_HEASHOOT_2_STAND");
AI_Output(self,other,"DIA_Abuyin_Zukunft4_Trance_13_03"); //Это все. Больше я ничего не смог увидеть.
DIA_Abuyin_Zukunft4_permanent = TRUE;
Abuyin_Zukunft = 4;
// Info_ClearChoices(DIA_Abuyin_Zukunft4);
}
else if (Kapitel == 5)
{
AI_Output(self,other,"DIA_Abuyin_Zukunft5_Trance_13_00"); //(в трансе) Тьма опустилась на землю... Зло торжествует...
AI_Output(self,other,"DIA_Abuyin_Zukunft5_Trance_13_01"); //(в трансе) Король проиграет войну против орков...
AI_Output(self,other,"DIA_Abuyin_Zukunft5_Trance_13_02"); //(в трансе) Ты вернешься, но не найдешь покоя...
AI_PlayAni(self,"T_HEASHOOT_2_STAND");
AI_Output(self,other,"DIA_Abuyin_Zukunft5_Trance_13_03"); //Это все. Больше я ничего не смог увидеть.
DIA_Abuyin_Zukunft5_permanent = TRUE;
Abuyin_Zukunft = 5;
// Info_ClearChoices(DIA_Abuyin_Zukunft5);
};
B_GivePlayerXP(XP_Ambient * 4);
Npc_RemoveInvItems(self,ItMi_Gold,Npc_HasItems(self,ItMi_Gold));
};
в оригинальном коде не срабатывает анимация
_Wld_PlayEffect("SPELLFX_TELEPORT",self,self,0,0,0,FALSE);_
?
Некоторые эффекты могут не работать с DX11.
а если так? :-) https://www.youtube.com/watch?v=HySINsQ321M
это я через AI_StartState делал https://github.com/Kor-Angar/G2_NotR_Kor_Angar/commit/faaf5077953233f66d9c0235bb577e457a2a75c6
DIA_Abuyin_Zukunft.permanent = false;
Будет работать только до загрузки сохранения и лучше так не делать.
а я кучу таких изменений наделал. и с ними игру прошёл, они все работают корректно.
значит, путаю с Г1
я их прям много перебил. и у Лареса и в порту у НПС и у Пирокара и много у кого ещё. можно внимательно посмотреть может и правда сбоит . у меня про это есть отдельный топик https://github.com/Kor-Angar/G2_NotR_Kor_Angar/issues/44
но в целом Абуин это про AI_StartState
AI_StartState так же я использовал и для Ватраса https://github.com/Kor-Angar/G2_NotR_Kor_Angar/issues/45
Будет работать только до загрузки сохранения и лучше так не делать.
и правда. слетели. может при входе в мир слетают?
и при входе в мир тоже
// Ставит вызов функции funcName в AI очередь
// и при ее вызове помещает значения slf & oth
// в глобальные self & other (соответственно)
func void AI_CallScript(var string funcName,var C_Npc slf,var C_Npc oth)
instance DIA_Xardas_TEST(C_Info)
{
npc = NONE_100_Xardas;
nr = 2;
condition = DIA_Xardas_TEST_Condition;
information = DIA_Xardas_TEST_Info;
permanent = FALSE;
description = "Тест AI_CallScript";
};
func int DIA_Xardas_TEST_Condition()
{
return TRUE;
};
func void DIA_Xardas_TEST_Info()
{
AI_Output(other,self,"SVM_15_SC_HeyTurnAround"); //Эй, ты!
AI_Output(self,other,"SVM_14_DieMonster"); //Еще одна грязная тварь!
//... помещаем в очередь self вызов функции EffectXardas_01
AI_CallScript("EffectXardas_01",self,other);
AI_PlayAni(self,"T_PRACTICEMAGIC5");
AI_PrintScreen("Белиар наказал вас!",-1,YPOS_GoldGiven,FONT_ScreenSmall,2);
AI_Output(self,other,"SVM_14_TOUGHGUY_ATTACKWON"); //Тебе еще раз показать, кто тут главный?
AI_Output(self,other,"SVM_14_Ooh03"); //Черт побери!
//... помещаем в очередь self вызов функции SoundXardas_01
AI_CallScript("SoundXardas_01",self,other);
AI_Output(self,other,"SVM_14_WhatAreYouDoing"); //Эй! Осторожно!
};
func void EffectXardas_01()
{
Wld_PlayEffect("spellFX_INCOVATION_VIOLET",hero,hero,0,0,0,FALSE);
};
func void SoundXardas_01()
{
Snd_Play("DEM_Warn");
};
таким же манером можно наверное решить вопрос и с B_GiveInvItems
А что там?
там надпись о передачи предметов выскакивает в начале диалога
Разве это не только в Г1?
точно. перепутал готики
Напомни плиз почему Герой не говорит Абуину "Я готов"?