Problem z Wrzodem - nie znikają opcje dialogowe po pobiciu. 2584 9

O temacie

Autor Graveir

Zaczęty 16.12.2013 roku

Wyświetleń 2584

Odpowiedzi 9

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Mam problem po dodaniu funkcji przynależności Wrzoda do drużyny. O ile normalnie dostaję wtedy exp i mam opcje typu "Daj miksturę życia", to po pobiciu jeśli on coś zabije to już nie dostaję expa(tak powinno być), jednak dalej są pokazane opcje dialogowe. Jak to naprawić?
Skrypt dialogu inicjującego dołączenie do drużyny:
INSTANCE DIA_Mud_FirstEXIT (C_INFO)
{
npc = Vlk_574_Mud;
nr = 1;
condition = DIA_Mud_FirstEXIT_Condition;
information = DIA_Mud_FirstEXIT_Info;
permanent = 0;
important = 1;
};                       

FUNC INT DIA_Mud_FirstEXIT_Condition()
{
if (Npc_GetDistToNpc(self,hero) < ZivilAnquatschDist)
{
return 1;
};
};

FUNC VOID DIA_Mud_FirstEXIT_Info()
{
AI_Output (self, other,"DIA_Mud_FirstEXIT_07_00"); //Hej, kolego! Nowy? Chyba cię jeszcze tu nie widziałem.
AI_Output (self, other,"DIA_Mud_FirstEXIT_07_01"); //Przyłączę się do ciebie na chwilę, jeśli nie masz nic przeciwko. Przyda ci się przyjaciel...
Info_ClearChoices(DIA_Mud_FirstEXIT);
Info_AddChoice (DIA_Mud_FirstEXIT, "Spadaj!" ,DIA_Mud_FirstEXIT_Verpiss);
Info_AddChoice (DIA_Mud_FirstEXIT, "Czemu nie? Chodźmy!" ,DIA_Mud_FirstEXIT_Komm);
};

func void DIA_Mud_FirstEXIT_Verpiss()
{
AI_Output (other, self,"DIA_Mud_FirstEXIT_Verpiss_15_00"); //Spadaj!
AI_Output (self, other,"DIA_Mud_FirstEXIT_Verpiss_07_01"); //Oho, nie jesteśmy w humorze, co? Lepiej będzie jak pójdę z tobą!
Info_ClearChoices(DIA_Mud_FirstEXIT);
AI_StopProcessInfos ( self );
Npc_ExchangeRoutine (self,"FOLLOW");
};

func void DIA_Mud_FirstEXIT_Komm()
{
AI_Output (other, self,"DIA_Mud_FirstEXIT_Komm_15_00"); //Czemu nie? Chodźmy!
AI_Output (self, other,"DIA_Mud_FirstEXIT_Komm_07_01"); //Świetnie. Po drodze możemy sobie trochę porozmawiać.
self.aivar[AIV_PARTYMEMBER] = TRUE;
Npc_ExchangeRoutine (self,"FOLLOW");
Info_ClearChoices(DIA_Mud_FirstEXIT);
AI_StopProcessInfos ( self );
};
Skrypt po pobiciu:
INSTANCE DIA_Mud_Defeated (C_INFO)
{
npc = Vlk_574_Mud;
nr = 1;
condition = DIA_Mud_Defeated_Condition;
information = DIA_Mud_Defeated_Info;
permanent = 0;
important = 1;
};                       

FUNC INT DIA_Mud_Defeated_Condition()
{
if (self.aivar[AIV_WASDEFEATEDBYSC]==TRUE)
{
return 1;
};
};

FUNC VOID DIA_Mud_Defeated_Info()
{
AI_Output (self, other,"DIA_Mud_GetLost_07_00"); //Hej, stary! Czemu mnie bijesz? Co ci takiego zrobiłem?
AI_Output (other, self,"DIA_Mud_GetLost_15_01"); //Za chwilę znowu ci przyłożę! Bardzo lubię to robić!
AI_Output (self, other,"DIA_Mud_GetLost_07_02"); //Jakiś świr z ciebie, czy co? Nie chcę mieć z tobą nic wspólnego!
self.aivar[AIV_PARTYMEMBER] = FALSE;
Npc_ExchangeRoutine(self,"START");
AI_StopProcessInfos (self);
};
No i plik, w którym znajdują się opcje odpowiedzialne za dialogi w drużynie:
http://turbobit.net/pmxwpoggsksx.html
Mój poprzedni temat(z pytaniami o premię walki)można w sumie zamknąć, bo postanowiłem, że po prostu będą dodawane procenty, a nie style walki.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Opcje dialogowe nie mają prawa się pojawić ponownie po ich odczytaniu, ponieważ permanent jest na 0/False,

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Miałem na myśli opcje związane z dawaniem przedmiotów. Do tego jeśli go pobiję przy dodanym AIV_Partymember to do wyboru mam opcje dawania przedmiotów, "Spadaj" i "Możesz się zamknąć...". A bez tego aivara jak z nim gadam(przed pobiciem)to mam tylko "Możesz się zamknąć" i "Spadaj", a po pobiciu mam tylko opcję "Spadaj".
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Przepraszam Cię, tamto jest złe.
http://speedy.sh/FKS2e/B-ASSIGNAMBIENTINFOS-PARTYMEMBER.DTo jest lepiej zrobione ^^

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Teraz przed pobiciem i po pobiciu ma opcje "Spadaj" i "Możesz się zamknąć". Ale nie ma wgl opcji dania mikstur(nawet po dołączeniu do drużyny).
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Patrzyles to 1 czy 2?

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
To drugie. Ale znalazłem rozwiązanie dawania mikstur. Jednak po pobiciu dalej zostaje opcja "Spadaj" i "Możesz się zamknąć", a chciałbym, żeby nie było wtedy żadnych dialogów u Wrzoda. Co do dawania wystarczyło zmienić:
if (AIV_Partymember == TRUE)
na
if (self.aivar[AIV_PARTYMEMBER] == TRUE)
Niby dwa słowa, a taka waga :D
Jednak z tymi dwoma tekstami po pobiciu dalej potrzebuję pomocy.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Jeśli masz na myśli to, że nie chcesz mieć po pobiciu "Spadaj" i "Możesz się zamknąć"  w tym dialogu to w tym miejscu:
FUNC INT DIA_Mud_FirstEXIT_Condition()
{
   if (Npc_GetDistToNpc(self,hero) < ZivilAnquatschDist)
   {
      return 1;
   };
};
dodaj warunek sprawdzający czy postać(bohater) nie zna jeszcze dialogu 1 m.in. chodzi mi o:
if !(Npc_KnowsInfo(instance_1_dialogu)

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Jesli chodzi o problem z tym mieczem co daje premie do broni to prawdopodobnie znalzlem rozwiazanie tylko pisz na gg (wyslalem Ci na pw bo sam chciales) zeby nie czekac na odpowiedzi. Wyslalem Ci zaproszenie na gg,

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Dobra, jeśli chodzi o "Spadaj" dodałem takie coś:
FUNC INT DIA_Mud_GetLost_Condition()
{
    
    if ( Npc_KnowsInfo(hero,DIA_Mud_FirstEXIT) && (self.aivar[AIV_PARTYMEMBER]))
    {
        return 1;
    };
};
a do "Możesz się zamknąć":
FUNC INT DIA_Mud_ShutUp_Condition()
{
    
    if (Mud_NerveRealized == TRUE) && (self.aivar[AIV_PARTYMEMBER])
    {
        return 1;
    };
};
I teraz jak go pobiję, to już nie ma żadnej opcji dialogowej. Ale mam jeszcze jedno pytanie, związane z handlem w G1. Czy jest jakaś opcja(poza stworzeniem dialogu), żeby dodać przedmiot do kupienia, którego nie można zdobyć pobijając kupca? Bo zmieniłem lekko skrzynię w chacie Krzykacza, dodając do niej 3 itemy i wymóg posiadania klucza. Ten klucz chcę, żeby jedynym sposobem jego zdobycia było kupienie go za X bryłek rudy(oczywiście wiem, jak ustalić wartość). Da radę to zrobić bez tworzenia dodatkowe dialogu np. u Fiska(bo teoretycznie chciałem, żeby u niego był klucz, ale po pobiciu można go zabrać).
 
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