Zaawansowanie dialogi i nowe warunki 3397 8

O temacie

Autor Góral Żywiec

Zaczęty 21.11.2013 roku

Wyświetleń 3397

Odpowiedzi 8

Góral Żywiec

Góral Żywiec

Użytkownicy
Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
posty153
Propsy42
Profesjabrak
  • Użytkownicy
  • Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
Eh nie wiem od czego zacząć. Otóż mam problem z ogarnięciem skryptów wzoruje się na poradnikach czipa 17 i to co on pokazywał na filmach to umiem ale reszty nie ogarnia i prosiłbym o wytłumaczenia mi tych skryptów zapożyczonych od the poziokaz...


////////////////////////////////////////////////////////////
//////////////             hallodwa
///////////////////////////////////////////////////////
instance Dia_Ciuciek_czesc   (C_INFO)
{
   npc     = Grd_995_Ciuciek;
   nr          =2;
   condition   =   Dia_Ciuciek_czesc_condition;
   information     = Dia_Ciuciek_czesc_info;
   important     =  FALSE;
   permanent     = 1;
   Description    = "Słychać coś ciekawego?";
};
 
func int Dia_Ciuciek_czesc_condition ()
{
if ( (other.guild == GIL_STT) || (other.guild == GIL_GRD) || (other.guild == GIL_DMB) ) || (REKRUT == LOG_RUNNING)
{
return 1;
};
};
 func void Dia_Ciuciek_czesc_info ()
 {
if (kazz_hello == FALSE)
{
AI_Output (other, self,"Dia_Ciuciek_czesc_info_15_00"); //Słychać coś ciekawego?
AI_Output (self, other,"Dia_Ciuciek_czesc_info_06_01"); //To zależy gdzie przyłożyć ucho. Na razie panuje względny spokój.
}
else if (kazz_hello == TRUE)
{
AI_Output (other, self,"Dia_Ciuciek_czesc_info_15_02"); //Słychać coś ciekawego?
AI_Output (self, other,"Dia_Ciuciek_czesc_info_06_03"); //W końcu mogę odpocząć i to dzięki tobie przyjacielu.
};
};
   
Nie rozumem tych nowych warunków z gildiami i jeszcze dochodzi (REKRUT == LOG_RUNNING)

Jak to jest zrobione że rozmawiają na jeden temat cały czas "co słychać" A pózniej rozmawiają na inny temat co słychać. Może mi to ktoś tłumaczyć.
 

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
No chyba chodzi o to , że to pierwsze "Co słychać" można użyć tylko jeden raz natomiast to drugie cały czas wynika to z "True/False" jeśli się mylę to mnie poprawić :D

MajkeI

MajkeI

Użytkownicy
Front End Developer
posty698
Propsy169
Profesjabrak
  • Użytkownicy
  • Front End Developer
Dia_Ciuciek_czesc: warunki
jeżeli gildia hero to stt (cień) LUB (|| to LUB!!) strażnik (grd) lub dmb + LUB misja REKRUT jest w dzienniku (w trakcie wykonywania)

   if (kazz_hello == FALSE) = jeżeli zmienna kazz_hello = false

a co do pytania: w dialogu z Kazzimirem jest zmienna kazz_hello no i jeżeli ona jest true no to gościu mówi coś takiego:
AI_Output (other, self,"Dia_Ciuciek_czesc_info_15_02"); //Słychać coś ciekawego?
 AI_Output (self, other,"Dia_Ciuciek_czesc_info_06_03"); //W końcu mogę odpocząć i to dzięki tobie przyjacielu

P.S. To nie są skomplikowane dialogi... ;D
 

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Wytłumaczę ci to co pamiętam na zdrowy chłopski rozum:

////////////////////////////////////////////////////////////
//////////////             hallodwa                              Tutaj piszesz co chesz
///////////////////////////////////////////////////////
instance Dia_Ciuciek_czesc   (C_INFO)                      To jest nazwa dialogu, tak jak niżej podana kazz_hello
{
   npc     = Grd_995_Ciuciek;                                     Postać z którą gada hero
   nr          =2;                                                   Numer dialogu
   condition   =   Dia_Ciuciek_czesc_condition;          To jest odniesienie do tego co niżej, zamiast dia coś tam, może być "Toworish"
   information     = Dia_Ciuciek_czesc_info;                        Tak jak wyżej
   important     =  FALSE;                                                           O ile się nie mylę, to znaczyło że na ten temat możesz lub nie możesz gadać                                                                                                                         kilka razy: TRUE/FALSE
   permanent     = 1;                                                                   Nie pamiętam co to znaczyło xD
   Description    = "Słychać coś ciekawego?";                      Tekst wyświetlany w ramce, to co wybierasz w grze jak masz dialog jak się o coś pytasz
};
 
func int Dia_Ciuciek_czesc_condition ()
{
   if ( (other.guild == GIL_STT) || (other.guild == GIL_GRD) || (other.guild == GIL_DMB)   ) || (REKRUT == LOG_RUNNING)
   {
      return 1;
   };
};                                                                                                            CAŁA TA FUNKCJA, JAK WYZEJ PISAŁEM NIE MUSI SIĘ TAK NAZYWAĆ ZNACZY ONA ŻE JAK JESTEŚ W KTÓREJŚ Z GILDII TAKICH JAK : "STT, GRD, DMB" I MASZ RUSZONĄ MISJĘ O NAZWIE "REKRUT" TO RETURN JEST: TRUE CZYLI 1, PROŚCIEJ MÓWIĄC SPEŁNIASZ WARUNKI MOŻLIWOŚCI POGADANIA NA DANY TEMAT



 func void Dia_Ciuciek_czesc_info ()      Jak już pisałem to mogłoby się nazywać tak: "func void Toworish ()"
 {   
   if (kazz_hello == FALSE)               Jeżeli hero nie rozmawiał na temat kazz_hello, (wyżej o tym wspominałem) to dialog będzie wyglądał                                                                            tak:
   {
   AI_Output (other, self,"Dia_Ciuciek_czesc_info_15_00"); //Słychać coś ciekawego?
   AI_Output (self, other,"Dia_Ciuciek_czesc_info_06_01"); //To zależy gdzie przyłożyć ucho. Na razie panuje względny spokój.
   }
   else if (kazz_hello == TRUE)       Ale, jeżeli hero rozmawiał na temat kazz_hello, to dialog będzie wyglądał tak
   {
   AI_Output (other, self,"Dia_Ciuciek_czesc_info_15_02"); //Słychać coś ciekawego?
   AI_Output (self, other,"Dia_Ciuciek_czesc_info_06_03"); //W końcu mogę odpocząć i to dzięki tobie przyjacielu.
   };
};
     
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Góral Żywiec

Góral Żywiec

Użytkownicy
Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
posty153
Propsy42
Profesjabrak
  • Użytkownicy
  • Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
Ma ostatnie pytanie co to te "Toworish" ?
 

diegomez

diegomez

Labirynt
posty452
Propsy63
  • Labirynt
important     =  FALSE/TRUE;   -> Jeśli TRUE to NPC sam do Cb zagada. Jeśli FALSE to sam będziesz musiał wybrać opcje dialogową.
permanent     = 1; (może być 0/1 lub FALSE/TRUE) -Jeśli TRUE to ten dialog będzie można otworzyć kilka razy (opcja dialogowa nie zniknie po usłyszeniu dialogu -- np opcja dialogowa "Koniec")

"Toworish" to w tym wypadku nazwa funkcji. Tutaj zaczyna ona kwestię dialogową.

kazz_hello i REKRUT == LOG_RUNNING to zwykłe zmienne.

Jedno z ich zastosować to np. wyobraź sobie, że żeby pogadać z jakimś gościem musisz najpierw wiedzieć w jakim miejscu jesteś. O tym miejscu mogą powiedzieć Ci 4 osoby, ale wystarczy, że dowiesz się od jednej. Więc pod każdą osobą, która Ci mówi o miejscu dajesz poznac_miejsce = TRUE lub poznac_miejsce = LOG_SUCCESS (Na podobnej zasadzie działają zadania).

No i w warunku osoby z którą na końcu masz pogadać zamiast dawać
if (Npc_KnowsInfo (other,DIA_NPC1_poznacmiejsce)) || (Npc_KnowsInfo (other,DIA_NPC2_poznacmiejsce)) || (Npc_KnowsInfo (other,DIA_NPC3_poznacmiejsce)) || (Npc_KnowsInfo (other,DIA_NPC4_poznacmiejsce))

dajesz:
if (poznac_miejsce == LOG_SUCCESS)
Oczywiście wcześniej zmienne trzeba zadeklarować.



(Jeśli gdzieś coś źle napisałem to pisać.)
 

Góral Żywiec

Góral Żywiec

Użytkownicy
Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
posty153
Propsy42
Profesjabrak
  • Użytkownicy
  • Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
Zaczynam rozumieć ale mam kolejne pytanie spróbuje je naproście wytłumaczyć.

Rozmawiasz z npc1 na dany temat z oblacjom true czyli nieskończoną " co słuchać"  "A leci dobrze i w ogóle " i ta obca jest cały cza s wiecie o co chodzi.

Później rozmawiasz z npc2 na dany temat i on uwalnia o bocję dialogową .

I znów wracamy do npc1 i Mówimy mu co słychać a on nam mówi "No bywało lepiej" i cały czas to powtarza w opcji truę ale teraz co się dzieję są dwie opcje dialogowe stare co słychać i nowe co słychać chodzi mi o to czy da się tak zrobić że po rozmowie z npc2 te stare co słuchać się kasuje i zostaję to nowe. Ale to trzeba tak zrobić że obie co słychać są na opcji true czyli powtarzalnej czy ktoś t ogarnia xd

To jest w gothicu  zauważcie mówi osoba Kto tu rządzi z obcją true tutaj rządzi jaśnie oświecony a po jakiś dialogach warunkach itp mówi z opcją true bezi się pyta kto tu rządzi... Rządzi cor Angar.

Nie wiem co to za opcja podmiany cz ktoś mógłby mi to wytłumaczyć ??
 

diegomez

diegomez

Labirynt
posty452
Propsy63
  • Labirynt
To działa to na podobnej zasadzie jak widać było w dialogu. Z warunkiem.
func void Dia_Ciuciek_czesc_info ()
 {   
   if (kazz_hello == FALSE)   //!!!//JEŚLI Y'berion żyje
   {
   AI_Output (other, self,"Dia_Ciuciek_czesc_info_15_00"); //Słychać coś ciekawego?
   AI_Output (self, other,"Dia_Ciuciek_czesc_info_06_01"); //To zależy gdzie przyłożyć ucho. Na razie panuje względny spokój.
   }
   else if (kazz_hello == TRUE) //!!!//JEŚLI Y'berion nie żyje
   {
   AI_Output (other, self,"Dia_Ciuciek_czesc_info_15_02"); //Słychać coś ciekawego?
   AI_Output (self, other,"Dia_Ciuciek_czesc_info_06_03"); //W końcu mogę odpocząć i to dzięki tobie przyjacielu.
   };

Jeśli jest dobrze to npc1 mówi, że jest dobrze, jeśli jest źle to npc mówi, że jest źle.
 

Góral Żywiec

Góral Żywiec

Użytkownicy
Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
posty153
Propsy42
Profesjabrak
  • Użytkownicy
  • Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
Dziękuje temat do zamknięcia.
 


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