• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, спешите принять участие в поэтическом конкурсе "Весенние поэты 2024"!
    Ждем именно вас!

    Ссылка на конкурсную тему - тык

Не стесняюсь спросить....

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.803
Баллы
995
скорее к андре таулиену, ибо дх всегда был упоротым на альфе.. *gigi*
 

Scarecrow

Участник форума
Регистрация
11 Авг 2014
Сообщения
158
Благодарности
85
Баллы
220
Подскажите пожалуйста, а можно ли как то заставить нпс применить заклинание (свет например) , находясь в диалоге с ним?
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.866
Благодарности
5.303
Баллы
910
Подскажите пожалуйста, а можно ли как то заставить нпс применить заклинание (свет например) , находясь в диалоге с ним?
Можно.

Daedalus:
INSTANCE DIA_Testt (C_Info)
{
    npc         = none_100_xardas;
    nr          = 2;
    condition   = DIA_Testt_condition;
    information = DIA_Testt_info;
    permanent   = FALSE;
    important   = FALSE;
    description = "Тест";
};

FUNC INT DIA_Testt_condition ()
{   
    return TRUE;
};

func void PlayLightOnHero()
{
    Wld_PlayEffect("spellFX_Light", hero, hero, 0, 0, 0, FALSE );
};

func void DIA_Testt_info()
{
    AI_Output(other,self,"DIA_Test_15_00");    //Тест
    AI_Output(self,other,"DIA_Test_14_01");    //тест!


    AI_PlayAni (self, "T_MAGRUN_2_SLESHOOT");
    //внимание, эффект проиграется сразу, если нужно без костылей в этом месте, используем внешнюю функцию
    //из плагина zParserExtender AI_CallScript
    //AI_CallScript("PlayLightOnHero",self,other);
    Wld_PlayEffect("spellFX_Light", hero, hero, 0, 0, 0, FALSE );
    AI_PlayAni (self, "T_SLESHOOT_2_STAND");
};

Только я хз, почему таким образом закл оказывается в теле NPC, а не в BIP01 Head
 

Scarecrow

Участник форума
Регистрация
11 Авг 2014
Сообщения
158
Благодарности
85
Баллы
220
=@N1kX, эх блин. До этого уже сам догадался) да-да, свет в появляется в теле и вокруг не так светло(
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Можно.

Daedalus:
INSTANCE DIA_Testt (C_Info)
{
    npc         = none_100_xardas;
    nr          = 2;
    condition   = DIA_Testt_condition;
    information = DIA_Testt_info;
    permanent   = FALSE;
    important   = FALSE;
    description = "Тест";
};

FUNC INT DIA_Testt_condition ()
{  
    return TRUE;
};

func void PlayLightOnHero()
{
    Wld_PlayEffect("spellFX_Light", hero, hero, 0, 0, 0, FALSE );
};

func void DIA_Testt_info()
{
    AI_Output(other,self,"DIA_Test_15_00");    //Тест
    AI_Output(self,other,"DIA_Test_14_01");    //тест!


    AI_PlayAni (self, "T_MAGRUN_2_SLESHOOT");
    //внимание, эффект проиграется сразу, если нужно без костылей в этом месте, используем внешнюю функцию
    //из плагина zParserExtender AI_CallScript
    //AI_CallScript("PlayLightOnHero",self,other);
    Wld_PlayEffect("spellFX_Light", hero, hero, 0, 0, 0, FALSE );
    AI_PlayAni (self, "T_SLESHOOT_2_STAND");
};

Только я хз, почему таким образом закл оказывается в теле NPC, а не в BIP01 Head

Сделай новый вфх и скорректируй координаты в новом пфх.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.229
Благодарности
6.208
Баллы
1.565
Ну а на основе фейкскрола нельзя сделать?
Daedalus:
func void B_UseFakeScroll()
{
    var C_Npc target;
    if(C_BodyStateContains(self,BS_SIT))
    {
        AI_Standup(self);
        B_TurnToNpc(self,hero);
    };
    AI_RemoveWeapon(self);
    CreateInvItem(self,Fakescroll);
    target = Npc_GetLookAtTarget(self);
    if(Hlp_IsValidNpc(target))
    {
        B_StopLookAt(self);
        AI_UseItemToState(self,Fakescroll,1);
        AI_Wait(self,1);
        AI_UseItemToState(self,Fakescroll,-1);
        B_LookAtNpc(self,hero);
    }
    else
    {
        AI_UseItemToState(self,Fakescroll,1);
        AI_Wait(self,1);
        AI_UseItemToState(self,Fakescroll,-1);
    };
};
просто Fakescroll заменить на ItSc_Light
Сам бы проверил, но пока не могу...
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Ну а на основе фейкскрола нельзя сделать?
Daedalus:
func void B_UseFakeScroll()
{
    var C_Npc target;
    if(C_BodyStateContains(self,BS_SIT))
    {
        AI_Standup(self);
        B_TurnToNpc(self,hero);
    };
    AI_RemoveWeapon(self);
    CreateInvItem(self,Fakescroll);
    target = Npc_GetLookAtTarget(self);
    if(Hlp_IsValidNpc(target))
    {
        B_StopLookAt(self);
        AI_UseItemToState(self,Fakescroll,1);
        AI_Wait(self,1);
        AI_UseItemToState(self,Fakescroll,-1);
        B_LookAtNpc(self,hero);
    }
    else
    {
        AI_UseItemToState(self,Fakescroll,1);
        AI_Wait(self,1);
        AI_UseItemToState(self,Fakescroll,-1);
    };
};
просто Fakescroll заменить на ItSc_Light
Сам бы проверил, но пока не могу...

У фейкскрола прописана функция стейт, руны работают по другому принципу.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.229
Благодарности
6.208
Баллы
1.565

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.339
Благодарности
3.183
Баллы
525
AI_PlayAni (self, "T_MAGRUN_2_SLESHOOT");
Предварительно надо активировать нужное заклинание, чтобы в руке мага появился соответствующий визуальный эффект.

просто Fakescroll заменить на ItSc_Light
Что-то подобное потребуется для того, чтобы момент применения визуального эффекта совпал с моментом "каста" заклинания, а не со стартом диалога.
 

НастасьСанна

Участник форума
Регистрация
6 Дек 2012
Сообщения
351
Благодарности
521
Баллы
325
Как насчет сочетания
Daedalus:
AI_ReadySpell(self, SPL_Light, 0);
AI_Attack(self);
Не уверена насчет света, а вот сон на кого-то скастовать, помнится, получалось. Хотя могу ошибаться, давно было.
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Никто не думал, как заставить заставить видео и музыку Готики работать из вдф тома?
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Пытаюсь вызвать дождь в игре через внешку... Делаю так:

1623493419959.png


Но что то не льеть. :confused:Кто понимает, подскажите пжлст, что я не так делаю?
 

WoOliN

Участник форума
Регистрация
13 Окт 2012
Сообщения
347
Благодарности
196
Баллы
210
Знатоки, будьте добры - подскажите простейший способ задать в стандартных скриптах условие вида:
если ГГ получил урон, то ...
Вид и величина урона не важны. Нужен способ отследить сам факт снижения здоровья у героя во время боя.
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.128
Благодарности
3.220
Баллы
485

WoOliN

Участник форума
Регистрация
13 Окт 2012
Сообщения
347
Благодарности
196
Баллы
210
У меня почему-то получаются только условия вида: если ГГ НАНЁС урон, то ...
А как зафиксировать получение урона?)
 
Последнее редактирование:
Сверху Снизу