С Днём России!
  • 2.664
  • 6
Дорогие друзья! Поздравляю вас с Днём России! Этот праздник напоминает нам о богатой истории и культуре нашей страны, о её величии и непоколебимом духе народа! Желаю вам крепкого здоровья...
Новости Анонсирован Atomic Heart II
Новости Анонсирован ремастер Final Fantasy Tactics
  • 990
  • 1
Культовая пошаговая тактическая RPG от Square Enix получит второе дыхание. На проходящей выставке State of Play, где анонсируются игры для Play Station, состоялся анонс ремастера Final Fantasy...
Новости Моддеры Oblivion Remastered нашли способ внедрения абсолютно любых скриптов
  • 1.200
  • 4
Сообщество моддинга Oblivion Remastered (ORM) переживает настоящий расцвет. После долгих месяцев работы, энтузиасты научили игру работать с мощным скриптовым языком Lua, открыв перед создателями...

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

Milaskus

Постоялец
Участник форума
Регистрация
13 Авг 2020
Сообщения
67
Реакции
79
Баллы
30
Лучшие ответы
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
Сообщения
4.217
Реакции
1.066
Баллы
273
Лучшие ответы
32
#2
Ни разу не программист, так что если вдруг что не то говорю - ну надеюсь на снисхождение.
Нашел только одну ошибку "отпраляемся"; Никлас два раза прописан с одинаковыми строками B_StartOtherRoutine(Niclas,"TROLL") - не уверен, я не программист, вдруг так надо, хотя, думаю, не должно так быть; и везде self, но иногда slf - ну тут я тем более не шарю, вдруг все правильно. :-)
 

Liker

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

Milaskus

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

Milaskus

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