Показать сообщение отдельно
Старый 08.01.2007, 19:50   #1593
Roomper

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: М: Скриптинг в Готике

После мучительной возни со скриптами я наконец-то дошел до того, как можно реализовать задуманное мной действие! Если кто не в курсе, разъясняю, что я хотел сделать:  после разговора с драконом (он начинает нападать) запускается событие, где идет проверка на кол-во имеющегося здоровья у игрока. Если оно меньше 50, то оно полностью восстанавливается. Как только пройдет 3 таких восстановления, дракон становится нейтральным по отношению к нам и начинает диалог.

Итак, расписываю весь алгоритм.
1. Открываем файл Content\AI\Monster\ZS_Monster\ ZS_MM_Attack.d и в теле цикла ZS_MM_Attack_Loop() вписываем следуещее:
Код:
if(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(My_DragonFire)){if((hero.attribute[ATR_HITPOINTS] < 50) && (count < 3)){hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS_MAX];count = count + 1;};if(count == 3){self.aivar[AIV_EnemyOverride] = TRUE;Npc_ClearAIQueue(self);B_ClearPerceptions(self);B_SetAttitude(My_DragonFire,ATT_NEUTRAL);PlayerCanTalkDragon = TRUE;return LOOP_END;};};
2. Объявляем где-нибудь переменные PlayerCanTalkDragon и count, например, в самом начале файла ZS_MM_Attack.d
Код:
var int count;var int PlayerCanTalkDragon;
3. В условии начала диалога этого непися (ну дракона, как вам угодно) вписываем несколько строк:
Код:
if(PlayerCanTalkDragon == TRUE){return TRUE;};
4. Компилируем скрипты прогой GothiccSourser v 3.1, запускаем игру и наслаждаемся собственным творением.

-------------------------------------------------------
P.S. Надеюсь, написать говорящего дракона и диалог к нему не составит труда. А если возникнут вопросы – задавайте. Постараюсь ответить.
Ответить с цитированием