dosinabox / g2nr_unofficial_update

Исходники скриптов, релизы, хотфиксы и тестовые версии неофициального обновления для игры "Готика 2: Ночь Ворона".
https://worldofplayers.ru/threads/36817
The Unlicense
15 stars 2 forks source link

ходят по расписанию? #149

Closed Kor-Angar closed 4 years ago

Kor-Angar commented 4 years ago

...

Kor-Angar commented 4 years ago

подскажи пожалуйста как правильно используется функция AI_GotoWP

я вот к примеру хочу на Греге возе пещеры её использовать

func void DIA_Addon_Greg_NW_RakeCavePlundered_No()
{
    AI_Output(other,self,"DIA_Addon_Greg_NW_RakeCavePlundered_No_15_00");   //Нет.
    if(RAKEPLACE[1] == TRUE)
    {
        AI_Output(self,other,"DIA_Addon_Greg_NW_RakeCavePlundered_No_01_01");   //Испытываешь мое терпение, сынок?
        AI_Output(other,self,"DIA_Addon_Greg_NW_RakeCavePlundered_No_15_02");   //Э-э... там ничего не было.
    };
    AI_Output(self,other,"DIA_Addon_Greg_NW_RakeCavePlundered_No_01_03");   //Тысяча чертей! Я так и знал! Меня опять опередили.
    AI_Output(self,other,"DIA_Addon_Greg_NW_RakeCavePlundered_No_01_04");   //Ну ладно. Мне нужно идти. Увидимся.
    AI_StopProcessInfos(self);
    MIS_Addon_Greg_RakeCave = LOG_OBSOLETE;
    GregLocation = Greg_Bigcross;
    MIS_Addon_Greg_Bigcross = Wld_GetDay(); 
    AI_GotoWP(self,"BIGCROSS");
    Npc_ExchangeRoutine(self,"BIGCROSS");
    B_StartOtherRoutine(BAU_974_Bauer,"Start");
};

а у меня как то косо получается :-(

dosinabox commented 4 years ago
AI_GotoWP(self,"BIGCROSS");
Npc_ExchangeRoutine(self,"BIGCROSS");

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

а у меня как то косо получается :-(

А что ты пытаешься сделать и что происходит по факту?

Kor-Angar commented 4 years ago

что происходит по факту?

Грег по команде AI_GotoWP убегает но герой остается в режиме диалога (?). https://www.youtube.com/watch?v=rmRZlS3KqDY&feature=youtu.be

Обе эти команды делают одно и то же и могут конфликтовать друг с другом.

нb одно и тоже. тут герой идёт на чекпойнт AI_GotoWP , а тут у героя меняется расписание Npc_ExchangeRoutine и это можно использовать в связке, как например у Эрола

if(MIS_Addon_Erol_BanditStuff == LOG_SUCCESS)
        {
            AI_Output(self,other,"DIA_Addon_Erol_Stoneplates_10_08");   //Я иду домой. Если хочешь, можешь пойти со мной.
            AI_Output(self,other,"DIA_Addon_Erol_Stoneplates_10_09");   //Когда мы доберемся до моего дома, я смогу продать тебе некоторые вещи.
            AI_StopProcessInfos(self);
            AI_UseMob(self,"BENCH",-1);
            AI_GotoWP(self,"NW_TAVERN_TO_FOREST_03");
            Npc_ExchangeRoutine(self,"Start");
//          Wld_AssignRoomToGuild("grpwaldhuette01",GIL_PUBLIC);
        };