[G2 NK]Niewidoczny dialog kończący zadanie 2593 6

O temacie

Autor Graveir

Zaczęty 8.10.2016 roku

Wyświetleń 2593

Odpowiedzi 6

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Siema, po roku przerwy naszło mnie, żeby coś ponamieszać w Goticzku i postanowiłem sobie stworzyć zadanie polegające na przyprowadzeniu owcy do Maletha(ten gościu na farmie Lobarta). No i o ile gra nie wywala żadnego błędu, a dialog zaczynający zadanie wyświetla się poprawnie(tak samo jak "dialog" owcy), to zadanie kończące się nie wyświetla(jest animacja gestykulacji, zadanie w dzienniku jest zakończone, a exp jest dodawany do postaci). Aczkolwiek nie mam akwamarynu po queście(a ustawiłem go jako nagrodę). Po prostu po wyborze dialogu jest chwilowa zwiecha i zaczyna się gestykulacja. Tutaj dialogi z Malethem:
instance DIA_Maleth_Sheep (C_INFO) //E1
{
npc = BAU_954_Maleth;
nr          = 1;
condition = DIA_Maleth_Sheep_Condition;
information = DIA_Maleth_Sheep_Info;
permanent   = FALSE;
description = "Widziałem jakąś owcę błąkającą się w pobliżu jeziorka w górach.";
};

func int DIA_Maleth_Sheep_Condition ()
{
if (Npc_KnowsInfo (other, DIA_Maleth_BANDITS))
&& (!Npc_IsDead (Follow_Sheep_Maleth))
{
return TRUE;
};
};

func void DIA_Maleth_Sheep_Info ()
{
AI_Output (other, self, "DIA_Maleth_Sheep_15_00"); //Widziałem jakąś owcę błąkającą się w pobliżu jeziorka w górach.
AI_Output (self, other, "DIA_Maleth_Sheep_08_01"); //To pewnie owca, którą nam ukradli! Musiała im jakimś cudem uciec.
AI_Output (self, other, "DIA_Maleth_Sheep_08_02"); //Postaraj się ją do nas przyprowadzić, a dostaniesz jakąś nagrodę.
Log_CreateTopic (TOPIC_MalethSheep,LOG_MISSION); 
Log_SetTopicStatus  (TOPIC_MalethSheep,LOG_RUNNING); 
B_LogEntry (TOPIC_MalethSheep,"Czas pobawić się w pasterza. Maleth polecił mi przyprowadzić owcę, którą widziałem w pobliżu wieży Xardasa.");
};
Zakończenie(tego dialogu dotyczy problem):
instance DIA_Maleth_Safe (C_INFO) //E1
{
npc = BAU_954_Maleth;
nr          = 1;
condition = DIA_Maleth_Safe_Condition;
information = DIA_Maleth_Safe_Info;
permanent   = FALSE;
description = "Przyprowadziłem twoją owcę.";
};

func int DIA_Maleth_Safe_Condition ()
{
if (Npc_KnowsInfo (other, DIA_Maleth_Sheep))
&&  Wld_DetectNpc (self,Follow_Sheep_Maleth,NOFUNC,-1)
&& (Npc_GetDistToNpc(self, other) < 800)
{
return TRUE;
};
};

func void DIA_Maleth_Safe_Info ()
{
AI_Output (other, self, "DIA_Maleth_Safe_15_00"); //Przyprowadziłem twoją owcę.
AI_Output (self, other, "DIA_Maleth_Safe_08_01"); //Wielkie dzięki przyjacielu. Proszę, weź ten akwamaryn w nagrodę. Obstawiam, że jest wart parę sztuk złota.
B_LogEntry(TOPIC_MalethSheep,"Za przyprowadzenie owcy otrzymałem akwamaryn. Trochę mierna nagroda, ale może uda mi się ją sprzedać za rozsądne pieniądze.");
Log_SetTopicStatus(TOPIC_MalethSheep, LOG_SUCCESS);
B_GivePlayerXP (25);
Follow_Sheep_Maleth.aivar[AIV_PARTYMEMBER] = FALSE;
Follow_Sheep_Maleth.aivar[AIV_TAPOSITION] = TRUE;
Follow_Sheep_Maleth.wp = "FP_ROAM_FARM1_SHEEP_07";
Follow_Sheep_Maleth.start_aistate = ZS_MM_AllScheduler;
AI_StopProcessInfos (self);
DIA_MalethSheep_KommMit.permanent = FALSE;
DIA_MalethSheep_WarteHier.permanent = FALSE;
B_GiveInvItems(self, other, itmi_aquamarine, 1);
};
Skrypt rozmowy z owcą:
Spoiler
// ************************************************************
//      EXIT
// ************************************************************
INSTANCE DIA_MalethSheep_EXIT(C_INFO)
{
npc = Follow_Sheep_Maleth;
nr = 999;
condition = DIA_MalethSheep_EXIT_Condition;
information = DIA_MalethSheep_EXIT_Info;
permanent = TRUE;
description = DIALOG_ENDE;
};                       

FUNC INT DIA_MalethSheep_EXIT_Condition()
{
return TRUE;
};
 
FUNC VOID DIA_MalethSheep_EXIT_Info()
{
AI_StopProcessInfos (self);
};
// ************************************************************
//   Hallo (Durchsuchen)
// ************************************************************
INSTANCE DIA_MalethSheep_Hallo (C_INFO)
{
npc = Follow_Sheep_Maleth;
nr = 1;
condition = DIA_MalethSheep_Hallo_Condition;
information = DIA_MalethSheep_Hallo_Info;
permanent = FALSE;
description = "Cześć...";
};                       
FUNC INT DIA_MalethSheep_Hallo_Condition()
{
return TRUE;
};
FUNC VOID DIA_MalethSheep_Hallo_Info()
{
AI_Output (other, self,"DIA_Liesel_Hallo_15_00"); //Cześć... khm... owco.
B_LieselMaeh ();
};

// ************************************************************
// Podążanie
// ************************************************************
INSTANCE DIA_MalethSheep_KommMit (C_INFO)
{
npc = Follow_Sheep_Maleth;
nr = 1;
condition = DIA_MalethSheep_KommMit_Condition;
information = DIA_MalethSheep_KommMit_Info;
permanent = TRUE;
description = "Chodź ze mną.";
};                       
FUNC INT DIA_MalethSheep_KommMit_Condition()
{
if (self.aivar[AIV_PARTYMEMBER] == FALSE)
&& (Npc_KnowsInfo(other, DIA_MalethSheep_Hallo))
&& (self.aivar[AIV_TAPOSITION] == FALSE)
&& (Npc_KnowsInfo(other, DIA_Maleth_Sheep))
{
return TRUE;
};
};
 
FUNC VOID DIA_MalethSheep_KommMit_Info()
{
AI_Output (other, self,"DIA_Liesel_KommMit_15_00"); //Chodź ze mną.
B_LieselMaeh ();

self.aivar[AIV_PARTYMEMBER] = TRUE;

AI_StopProcessInfos (self);
};

// ************************************************************
//   Warte hier
// ************************************************************
INSTANCE DIA_MalethSheep_WarteHier (C_INFO)
{
npc = Follow_Sheep_Maleth;
nr = 1;
condition = DIA_MalethSheep_WarteHier_Condition;
information = DIA_MalethSheep_WarteHier_Info;
permanent = TRUE;
description = "Zaczekaj tutaj!";
};                       
FUNC INT DIA_MalethSheep_WarteHier_Condition()
{
if (self.aivar[AIV_PARTYMEMBER] == TRUE)
&& (Npc_KnowsInfo(other, DIA_MalethSheep_Hallo))
&& (self.aivar[AIV_TAPOSITION] == FALSE)
{
return TRUE;
};
};
FUNC VOID DIA_MalethSheep_WarteHier_Info()
{
AI_Output (other, self,"DIA_Liesel_WarteHier_15_00"); //Zaczekaj tutaj!
B_LieselMaeh ();

self.aivar[AIV_PARTYMEMBER] = FALSE;

AI_StopProcessInfos (self);
};
Widzi ktoś tu jakiś błąd? Skrypty reparsowane przez GothicStarter_mod, aktualizowane przez Redefixa. I czy przy dialogu z oddaniem questa można dać jakiś inny warunek, żeby od razu był dostępny, jeśli owca jest naszym towarzyszem i jest blisko Maletha? Bo na chwilę obecną to trzeba trochę pokombinować, żeby opcja dialogowa się pokazała(trzeba trochę się poprzemieszczać).
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Wywal pliki OU i sparsuj jeszcze raz.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Zrobiłem tak i nie pomogło. Jakiś inny pomysł?
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Spróbuj wywalić to:
DIA_MalethSheep_KommMit.permanent = FALSE;
DIA_MalethSheep_WarteHier.permanent = FALSE;
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
To zrób tak:
1)Wywal stary warunek.
2)Zastąp go tymi trzema:
-Gdy npc zna dialog o owcy
-Jest blisko NPC
-Owca jest blisko nas.
Być może wtedy zadziała.
Jeśli nie w tym problem, to zrób sam czysty dialog bez nagród, a potem stopniowo je dodawaj.
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Dobra, ustawiłem takie warunki:
if (Npc_KnowsInfo (other, DIA_Maleth_Sheep))
&& Hlp_StrCmp  (Npc_GetNearestWP(hero),"NW_FARM1_PATH_CITY_SHEEP_09")
&& (Npc_GetDistToPlayer(Follow_Sheep_Maleth)<2000)
i dialog się normalnie pojawił. Czyli temat do zamknięcia, a propsy lecą :D
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti


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