Greg i strażnik 1248 0

O temacie

Autor Vesemir

Zaczęty 12.08.2020 roku

Wyświetleń 1248

Odpowiedzi 0

Vesemir

Vesemir

Użytkownicy
posty44
Propsy3
ProfesjaGracz
  • Użytkownicy
Witam od jakiegoś czasu moduję hobbistycznie Gothica 2 NK i ostatnio napotkałem następujący problem.
Na początku gry mam już strój farmera od Lobarta i oddaje go Gregowi aby mógł wejść do miasta a następnie idę pod bramę obok Lothara  bez zbroi to strażnik mnie ignoruje i nie zaczepia i mogę wejść bez żadnej gadki do miasta. Gdy przed rozmową z Gregiem zdejmę strój rolnika a następnie w trakcie dialogu go mu przekaże to potem normalnie strażnik mnie zaczepia i jest wszystko ok. Ale gdy mam założony strój rolnika i rozmawam z Gregiem to występuje ten wyżej wymieniony bug.

Ktoś ma pomysł co to może być ????   :hmmm:

Przyznam się że samemu próbowałem to jakoś korygować w dialogach Grega i strażnika przy bramie ale bez rezultatów.
Myslałem czy nie ma to przypadkiem jakiegoś związku

AI_StopProcessInfos(self);

albo


B_GiveInvItems(other,self,ITAR_Bau_L,1);


Tak jakby strażnik nie mógł załapać że nie mam już stroju farmera
 i mimo że nie mam już go w ekwipunku to gra w dialogu strażnika myśli że jeszcze mam ale nie może go wykryć i się buguje dialog. Takie mam przypuszczenia

Mój problem przypomina trochę problem z tego tematu: http://themodders.org/index.php?topic=29895.msg1349982#msg1349982

Umieszczam jeszcze fragmenty kodu dialogów Grega i Strażnika bramy


instance DIA_Addon_Greg_NW_Stadtwachen(C_Info)
{
npc = PIR_1300_Addon_Greg_NW;
nr = 5;
condition = DIA_Addon_Greg_NW_Stadtwachen_Condition;
information = DIA_Addon_Greg_NW_Stadtwachen_Info;
permanent = TRUE;
description = "Jeśli chodzi o strażników...";
};


func int DIA_Addon_Greg_NW_Stadtwachen_Condition()
{
if((MIS_Addon_Greg_BringMeToTheCity == LOG_Running) && (GregLocation == Greg_Farm1))
{
return TRUE;
};
};


var int DIA_Addon_Greg_NW_Stadtwachen_ChoiceClose_geld;
var int DIA_Addon_Greg_NW_Stadtwachen_ChoiceClose_Schein;
var int DIA_Addon_Greg_NW_Stadtwachen_ChoiceClose_constantino;

func void DIA_Addon_Greg_NW_Stadtwachen_Info()
{
AI_Output(other,self,"DIA_Addon_Greg_NW_Stadtwachen_15_00"); //Jeśli chodzi o strażników...
AI_Output(self,other,"DIA_Addon_Greg_NW_Stadtwachen_01_01"); //Tak. Masz jakiś pomysł?
Info_ClearChoices(DIA_Addon_Greg_NW_Stadtwachen);
Info_AddChoice(DIA_Addon_Greg_NW_Stadtwachen,"Będę musiał o tym pomyśleć.",DIA_Addon_Greg_NW_Stadtwachen_nochnicht);
if(DIA_Addon_Greg_NW_Stadtwachen_ChoiceClose_geld == FALSE)
{
Info_AddChoice(DIA_Addon_Greg_NW_Stadtwachen,"A może spróbujesz łapówki?",DIA_Addon_Greg_NW_Stadtwachen_geld);
};
if((DIA_Addon_Greg_NW_Stadtwachen_ChoiceClose_Schein == FALSE) && Npc_HasItems(other,ItWr_Passierschein))
{
Info_AddChoice(DIA_Addon_Greg_NW_Stadtwachen,"Mam przepustkę do miasta.",DIA_Addon_Greg_NW_Stadtwachen_Schein);
};
if((MIS_Addon_Lester_PickForConstantino != 0) && (DIA_Addon_Greg_NW_Stadtwachen_ChoiceClose_constantino == FALSE))
{
Info_AddChoice(DIA_Addon_Greg_NW_Stadtwachen,"Do miasta mogą wejść zbieracze ziół.",DIA_Addon_Greg_NW_Stadtwachen_constantino);
};
if(Npc_HasItems(other,ITAR_Bau_L) || Npc_HasItems(other,ITAR_Bau_M))
{
Info_AddChoice(DIA_Addon_Greg_NW_Stadtwachen,"Powinni cię wpuścić, jeśli założysz ten strój rolnika.",DIA_Addon_Greg_NW_Stadtwachen_klamotten);
};
};

func void DIA_Addon_Greg_NW_Stadtwachen_klamotten()
{
var C_Item itm;
itm = Npc_GetEquippedArmor(other);
AI_Output(other,self,"DIA_Addon_Greg_NW_Stadtwachen_klamotten_15_00"); //Powinni cię wpuścić, jeśli założysz ten strój rolnika.

if(Npc_HasItems(other,ITAR_Bau_L))
{
if(Npc_HasEquippedArmor(other) == FALSE)
{
AI_UnequipArmor (other);
}
else if((Hlp_IsItem(itm,ITAR_Bau_L) == TRUE) || (Hlp_IsItem(itm,ITAR_Bau_M) == TRUE))
{
AI_UnequipArmor (other);
};
B_GiveInvItems(other,self,ITAR_Bau_L,1);

}
else
{
if(Npc_HasEquippedArmor(other) == FALSE)
{
AI_UnequipArmor (other);
}
else if((Hlp_IsItem(itm,ITAR_Bau_L) == TRUE) || (Hlp_IsItem(itm,ITAR_Bau_M) == TRUE))
{
AI_UnequipArmor (other);
};
B_GiveInvItems(other,self,ITAR_Bau_M,1);
};
AI_Output(self,other,"DIA_Addon_Greg_NW_Stadtwachen_klamotten_01_01"); //Tego mi właśnie trzeba. Wiedziałem, że mogę na ciebie liczyć.
AI_Output(self,other,"DIA_Addon_Greg_NW_Stadtwachen_klamotten_01_02"); //Nikt na mnie nie zwróci uwagi, jeśli przebiorę się za wsiowego głupka. Ha, ha!
if(Npc_HasItems(self,ITAR_Bau_L))
{
AI_EquipArmor(self,ITAR_Bau_L);
}
else
{
AI_EquipArmor(self,ITAR_Bau_M);
};
AI_Output(self,other,"DIA_Addon_Greg_NW_Stadtwachen_klamotten_01_03"); //Doskonale. Dobrze się spisałeś. Oto obiecana zapłata.
CreateInvItems(self,ItMi_Gold,50);
B_GiveInvItems(self,other,ItMi_Gold,50);
B_GivePlayerXP(XP_Greg_NW_GiveBauArmor);
AI_Output(other,self,"DIA_Addon_Greg_NW_Stadtwachen_klamotten_15_04"); //Co? Nędzne 50 złotych monet? Chyba żartujesz.
AI_Output(self,other,"DIA_Addon_Greg_NW_Stadtwachen_klamotten_01_05"); //Złoto to nie wszystko, przyjacielu. Niech ci to na razie wystarczy.
AI_Output(self,other,"DIA_Addon_Greg_NW_Stadtwachen_klamotten_01_06"); //Mam przeczucie, że wkrótce się spotkamy.
AI_Output(self,other,"DIA_Addon_Greg_NW_Stadtwachen_klamotten_01_07"); //I kto wie? Mogę być wtedy bardziej szczodry. Trzymaj się.
AI_StopProcessInfos(self);
if(Npc_KnowsInfo(other,DIA_Lothar_Hallo))
{
Npc_ExchangeRoutine(self,"Markt");
};
B_LogEntry(TOPIC_Addon_Greg_NW,"Dałem mu ubranie farmera. Może ominąć strażników w przebraniu.");
MIS_Addon_Greg_BringMeToTheCity = LOG_SUCCESS;
};











const string Mil_310_Checkpoint = "NW_CITY_ENTRANCE_MAIN";


var int MIL_310_Personal_AbsolutionLevel;

instance DIA_Mil_310_Stadtwache_FirstWarn(C_Info)
{
npc = Mil_310_Stadtwache;
nr = 1;
condition = DIA_Mil_310_Stadtwache_FirstWarn_Condition;
information = DIA_Mil_310_Stadtwache_FirstWarn_Info;
permanent = TRUE;
important = TRUE;
};


func int DIA_Mil_310_Stadtwache_FirstWarn_Condition()
{
if(Npc_GetDistToWP(other,Mil_310_Checkpoint) <= 700)
{
Npc_SetRefuseTalk(self,5);
return FALSE;
};
if((B_GetGreatestPetzCrime(self) >= CRIME_ATTACK) && (B_GetCurrentAbsolutionLevel(self) == MIL_310_Personal_AbsolutionLevel))
{
self.aivar[AIV_PASSGATE] = FALSE;
}
else if(Mil_310_schonmalreingelassen == TRUE)
{
self.aivar[AIV_PASSGATE] = TRUE;
};
if((self.aivar[AIV_Guardpassage_Status] == GP_NONE) && (self.aivar[AIV_PASSGATE] == FALSE) && (Hlp_StrCmp(Npc_GetNearestWP(self),self.wp) == TRUE) && (Npc_RefuseTalk(self) == FALSE))
{
return TRUE;
};
};

func void DIA_Mil_310_Stadtwache_FirstWarn_Info()
{
var C_Item itm;
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_00"); //STAĆ!
if(B_GetGreatestPetzCrime(self) >= CRIME_ATTACK)
{
AI_Output(other,self,"DIA_Mil_310_Stadtwache_FirstWarn_15_01"); //O co chodzi?
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_02"); //Dobrze wiesz o co!
if(B_GetGreatestPetzCrime(self) == CRIME_MURDER)
{
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_03"); //Jesteś poszukiwany w mieście za morderstwo.
};
if(B_GetGreatestPetzCrime(self) == CRIME_THEFT)
{
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_04"); //Nie potrzebujemy to żadnych brudnych złodziei!
};
if(B_GetGreatestPetzCrime(self) == CRIME_ATTACK)
{
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_05"); //Nie trzeba nam w mieście pieniaczy!
};
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_06"); //Dlaczego mielibyśmy cię wpuścić?
}
else
{
itm = Npc_GetEquippedArmor(other);
if((Npc_HasEquippedArmor(other) == FALSE) && (hero.guild == GIL_NONE))
{
AI_Output(other,self,"DIA_Mil_310_Stadtwache_FirstWarn_15_07"); //A dlaczego nie?
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_08"); //TY tu nie wejdziesz, chłopcze!
AI_Output(other,self,"DIA_Mil_310_Stadtwache_FirstWarn_15_09"); //Dlaczego nie?
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_10"); //Już po twoim obszarpanym wyglądzie widzę, że jedyne co ze sobą przynosisz to kłopoty.
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_11"); //W mieście mamy już dostatecznie dużo kłopotów. Nie ma tu miejsca dla ludzi bez pieniędzy.
if((MIS_EnterCity != LOG_Running) && ((Npc_KnowsInfo(other,DIA_Maleth_ToTheCity)) == FALSE))
{
MIS_EnterCity = LOG_Running;
Log_CreateTopic(TOPIC_City,LOG_MISSION);
Log_SetTopicStatus(TOPIC_City,LOG_Running);
B_LogEntry(TOPIC_City,"Strażnicy strzegący bram miasta nie wpuszczą mnie, jeśli będę wyglądał jak nędzarz. Muszę zrobić coś ze swoim wyglądem albo poszukać innej drogi do miasta.");
};

}
else if((Hlp_IsItem(itm,ITAR_Bau_L) == TRUE) || (Hlp_IsItem(itm,ITAR_Bau_M) == TRUE))
{
if(self.aivar[AIV_TalkedToPlayer] == TRUE)
{
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_12"); //Czego chcesz tym razem?
AI_Output(other,self,"DIA_Mil_310_Stadtwache_FirstWarn_15_13"); //Przysłano mnie z farmy.
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_14"); //No proszę? Czyżbyś w końcu miał jakiś dobry powód, by się tu pojawiać?
}
else
{
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_15"); //Jesteś jednym z pomocników z farmy Lobarta? Nigdy cię tu nie widziałem!
AI_Output(other,self,"DIA_Mil_310_Stadtwache_FirstWarn_15_16"); //Od niedawna pracuję dla Lobarta.
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_17"); //Co sprowadza cię do miasta?
};
}
else
{
AI_Output(other,self,"DIA_Mil_310_Stadtwache_FirstWarn_15_18"); //Słucham?
if((hero.guild == GIL_PAL) || (hero.guild == GIL_KDF))
{
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_19"); //Wybacz, ale takie mam rozkazy.
AI_Output(other,self,"DIA_Mil_310_Stadtwache_FirstWarn_15_20"); //Czyżbyś chciał mnie zatrzymać?
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_21"); //Gdzieżbym śmiał. Wszyscy członkowie kościoła Innosa są mile widziani.
}
else
{
AI_Output(self,other,"DIA_Mil_310_Stadtwache_FirstWarn_07_22"); //Chciałem ci się tylko przyjrzeć. Wygląda na to, że masz pieniądze. Możesz wejść.
};
self.aivar[AIV_PASSGATE] = TRUE;
Stadtwache_333.aivar[AIV_PASSGATE] = TRUE;
Mil_310_schonmalreingelassen = TRUE;
if(MIS_EnterCity == LOG_Running)
{
Wld_SendTrigger("CITY_DOWNTOWN_GATE_01");
Wld_SendTrigger("CITY_DOWNTOWN_GATE_02");
MIS_EnterCity = LOG_SUCCESS;
B_LogEntry(TOPIC_City,"Strażnicy wpuścili mnie do miasta.");
}
else if (Temp_GateCity1 == FALSE)
{
Temp_GateCity1 = TRUE;
Wld_SendTrigger("CITY_DOWNTOWN_GATE_01");
Wld_SendTrigger("CITY_DOWNTOWN_GATE_02");
};
B_CheckLog();
AI_StopProcessInfos(self);
};
};
other.aivar[AIV_LastDistToWP] = Npc_GetDistToWP(other,Mil_310_Checkpoint);
self.aivar[AIV_Guardpassage_Status] = GP_FirstWarnGiven;
};



 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry