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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

    Не ленитесь, голосуйте в этой теме за тех форумчан, которые по вашему мнению больше всех проявили себя в этом году
    По желанию, аргументировать свой выбор можете в теме обсуждения голосования.

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

MaGoth

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

Scarecrow

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

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.176
Благодарности
5.697
Баллы
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
Сообщения
163
Благодарности
85
Баллы
235
=@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.900
Благодарности
6.777
Баллы
1.625
Ну а на основе фейкскрола нельзя сделать?
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.900
Благодарности
6.777
Баллы
1.625

ElderGamer


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

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

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

Участник форума
Регистрация
6 Дек 2012
Сообщения
350
Благодарности
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.223
Благодарности
3.450
Баллы
485

WoOliN

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