Готика 2: Другая история Gothic II: Other Story - Описание мода
  • 6.885
  • 44
Готика 2: Другая история / Other Story - это глобальная модификация для игры «Готика 2: Ночь Ворона». Её цель - сделать игру более нелинейной, с большим количеством вариантов выбора и...
Новости Старт 6го сезона Grim League
  • 1.802
  • 1
4 мая в 18-00 стартует шестой сезон Community лиги по одной из лучших игр в жанре arpg Grim Dawn. Сезон представляет собой глобальную модификацию игры, включающую в себя расширение мира, изменение...
Новости Дата релиза Baldur's Gate III
  • 21.102
  • 1
Наконец-то дождались - "Baldur's Gate III" покидает ранний доступ, и в августе 2023 выходит в полноценный релиз, о чём стало известно на церемонии "The Game Awards 2022". С момента выхода игры в...
Новости Итоги года от The Game Awards 2022
  • 14.687
  • 0
Вчера прошла ежегодная церемония награждения проектов в индустрии компьютерных игр и киберспорта. Самую главную награда - "Игра года" забрала игра "Elden Ring" от японских разработчиков...

В процессе Массовый бег к точке в миссии.

Milaskus

Постоялец
Участник форума
Регистрация
13 Авг 2020
Сообщения
52
Реакции
70
Баллы
20
Лучшие ответы
0
#1
Вопрос решён, Спасибо @Liker

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////Черный тролль
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
instance DIA_HNT_5000_Korg_Black_troll_dead(C_Info)
{
npc = HNT_5000_Korg;
nr = 1;
condition = DIA_HNT_5000_Korg_Black_troll_dead_condition;
information = DIA_HNT_5000_Korg_Black_troll_dead_info;
permanent = FALSE;
description = "Я готов, когда отпраляемся?";
};


func int DIA_HNT_5000_Korg_Black_troll_dead_condition()
{
if (MIS_Big_Hunt == LOG_SUCCESS && Npc_KnowsInfo(other,DIA_HNT_5000_Korg_black_troll_go_camp_end))
{
return TRUE;
};
};


func void DIA_HNT_5000_Korg_Black_troll_dead_info()
{

AI_Output(other,self,"DIA_HNT_5000_Korg_Black_troll_dead_14_00"); //Я готов, когда отпраляемся?
AI_Output(self,other,"DIA_HNT_5000_Korg_Black_troll_dead_14_01"); //Отправляемся сейчас, тролль находится в восточном лесу рядом с кругом камней, ты можешь пойти с нами или встретимся там.
Log_CreateTopic(TOPIC_Black_troll,LOG_MISSION);
Log_SetTopicStatus(TOPIC_Black_troll,LOG_Running);
B_LogEntry(TOPIC_Black_troll,"");
MIS_Black_troll = LOG_Running;
AI_StopProcessInfos(self);
Npc_ExchangeRoutine(self,"TROLL");
B_StartOtherRoutine(Gaan,"TROLL"); // Гаана оставил, так как он и так шёл.
B_StartOtherRoutine(BAU_984_Niclas,"TROLL");
B_StartOtherRoutine(BAU_982_Grimbald,"TROLL");
B_StartOtherRoutine(BAU_981_Grom,"TROLL");
B_StartOtherRoutine(BAU_983_Dragomir,"TROLL");
Wld_InsertNpc(Troll_Black,"NW_FOREST_PATH_82_M");
};


instance DIA_HNT_5000_Korg_Black_troll_dead(C_Info)
{
npc = HNT_5000_Korg;
nr = 1;
condition = DIA_HNT_5000_Korg_Black_troll_dead_condition;
information = DIA_HNT_5000_Korg_Black_troll_dead_info;
permanent = TRUE;
description = "Я готов, когда отпраляемся?";
};



func int DIA_HNT_5000_Korg_Black_troll_dead_condition()
{
return TRUE;
};


func void DIA_HNT_5000_Korg_Black_troll_dead_info()
{
if (MIS_Big_Hunt == LOG_SUCCESS)
{
AI_Output(other,self,"DIA_HNT_5000_Korg_black_skin_troll_14_00"); //Я готов, когда отпраляемся?
AI_Output(self,other,"DIA_HNT_5000_Korg_black_skin_troll_14_01"); //Отправляемся сейчас, тролль находится в восточном лесу рядом с кругом камней, ты можешь пойти с нами или встретимся там.
Log_CreateTopic(TOPIC_Black_troll,LOG_MISSION);
Log_SetTopicStatus(TOPIC_Black_troll,LOG_Running);
B_LogEntry(TOPIC_Black_troll,"");
MIS_Black_troll = LOG_Running;
AI_StopProcessInfos(self);
Npc_ExchangeRoutine(self,"TROLL");
B_StartOtherRoutine(Gaan,"TROLL");
B_StartOtherRoutine(Niclas,"TROLL");
B_StartOtherRoutine(Grimbald,"TROLL");
B_StartOtherRoutine(Grom,"TROLL");
B_StartOtherRoutine(Niclas,"TROLL");


};
};










Этот код в игре говорит всего лишь имя, и строку куда надо идти.

func void B_StartOtherRoutine(var C_Npc slf,var string newRoutine)
{
AI_Standup(slf);
if(Hlp_GetInstanceID(self) != Hlp_GetInstanceID(slf))
{
if(Hlp_IsValidNpc(slf) && !Npc_IsDead(slf))
{
Npc_ExchangeRoutine(slf,newRoutine);
AI_ContinueRoutine(slf);
};
}
else
{
Npc_ExchangeRoutine(slf,newRoutine);
};
};
 
Последнее редактирование:

Divik

Рыцарь
Участник форума
Регистрация
21 Авг 2022
Сообщения
2.803
Реакции
615
Баллы
170
Лучшие ответы
3
#2
Ни разу не программист, так что если вдруг что не то говорю - ну надеюсь на снисхождение.
Нашел только одну ошибку "отпраляемся"; Никлас два раза прописан с одинаковыми строками B_StartOtherRoutine(Niclas,"TROLL") - не уверен, я не программист, вдруг так надо, хотя, думаю, не должно так быть; и везде self, но иногда slf - ну тут я тем более не шарю, вдруг все правильно. :-)
 

Liker

Демиург
Команда форума
Редактор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
21 Фев 2016
Сообщения
20.755
Реакции
16.219
Баллы
1.291
Лучшие ответы
724
#3
@Milaskus, C_NPC лучше вообще не использовать. Используй конкретную инстанцию нпс, т.е. BAU_981_Grom
 
Автор
Автор
Milaskus

Milaskus

Постоялец
Участник форума
Регистрация
13 Авг 2020
Сообщения
52
Реакции
70
Баллы
20
Лучшие ответы
0
#4
Последнее редактирование:
Автор
Автор
Milaskus

Milaskus

Постоялец
Участник форума
Регистрация
13 Авг 2020
Сообщения
52
Реакции
70
Баллы
20
Лучшие ответы
0
#5
Ни разу не программист, так что если вдруг что не то говорю - ну надеюсь на снисхождение.
Нашел только одну ошибку "отпраляемся"; Никлас два раза прописан с одинаковыми строками B_StartOtherRoutine(Niclas,"TROLL") - не уверен, я не программист, вдруг так надо, хотя, думаю, не должно так быть; и везде self, но иногда slf - ну тут я тем более не шарю, вдруг все правильно. :-)
То что Никлас два раза написано заметил вчера) а self и slf это оригинальный код. Я тоже не программист. Учусь по ходу) и раз вижу что работает значит все ок.
 
Сверху Снизу