Autor Wątek: Objaśnienie, dialog [skrypty]  (Przeczytany 2642 razy)

Description:

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

Offline Serail

  • Weteran
  • ****
  • Wiadomości: 2637
  • Reputacja: -231
  • Płeć: Mężczyzna
  • Wyczesana opowieść, wodzu
Objaśnienie, dialog [skrypty]
« dnia: 28 Maj 2009, 18:04:04 »
To nie będzie tutek jak napisać od podstaw dialog, ale raczej wyjaśnienie, ale można go używać jako tutka jak zrobić dialog. Będę wyjaśniał wszystko na podstawie dialogu kolesia o imieniu Gorr. Niektóre wypowiedzi mogą być dość dziwne, ale to tylko przykład.

Cały dialog wygląda tak:

// ************************************************************
//                                  EXIT
// ************************************************************

INSTANCE DIA_GORR_EXIT(C_INFO)
{
    npc            = Kdf_9002_Gorr;
    nr            = 999;
    condition    = DIA_GORR_EXIT_Condition;
    information    = DIA_GORR_EXIT_Info;
    permanent    = 1;
    description = DIALOG_ENDE;
};                       

FUNC INT DIA_GORR_EXIT_Condition()
{
    return 1;
};

FUNC VOID DIA_GORR_EXIT_Info()
{   
    AI_StopProcessInfos    (self);
};

// ************************************************************
//                             Hallo
// ************************************************************

INSTANCE DIA_GORR_Hello (C_INFO)
{
    npc            = Kdf_9002_Gorr;
    nr            = 1;
    condition    = DIA_GORR_Hello_Condition;
    information    = DIA_GORR_Hello_Info;
    permanent    = 0;
    description = "Witaj. Kim jesteś?";
};                       

FUNC INT DIA_GORR_Hello_Condition()
{
    return 1;
};

FUNC VOID DIA_GORR_Hello_Info()
{   
    AI_Output (other, self,"DIA_GORR_Hello_15_00"); //Witaj. Kim jesteś?
    AI_Output (self, other,"DIA_GORR_Hello_13_01"); //Mam na imię Gorr. Jestem strażnikiem tego obozu.
    AI_Output (other, self,"DIA_GORR_Hello_15_02"); //A cóż to za obóz?
    AI_Output (self, other,"DIA_GORR_Hello_13_03"); //To obóz Magów Czarnego Ognia.
};

// ************************************************************
//                             What
// ************************************************************

INSTANCE DIA_GORR_What (C_INFO)
{
    npc            = Kdf_9002_Gorr;
    nr            = 2;
    condition    = DIA_GORR_What_Condition;
    information    = DIA_GORR_What_Info;
    permanent    = 1;
    description = "Mogę wejść do obozu?";
};                       

FUNC INT DIA_GORR_What_Condition()
{
    if (Npc_KnowsInfo (hero,DIA_GORR_Hello))
    {
        return 1;
    };
};

FUNC VOID DIA_GORR_What_Info()
{   
    AI_Output (other, self,"DIA_GORR_What_15_00"); //Mogę wejść do obozu?
    AI_Output (self, other,"DIA_GORR_What_13_01"); //Oczywiście.
};

// ************************************************************
//                             PERM
// ************************************************************

INSTANCE DIA_GORR_PERM (C_INFO)
{
    npc            = Kdf_9002_Gorr;
    nr            = 3;
    condition    = DIA_GORR_PERM_Condition;
    information    = DIA_GORR_PERM_Info;
    permanent    = 0;
    description = "Jak się tutaj znaleźliście?";
};                       

FUNC INT DIA_GORR_PERM_Condition()
{
    if (Npc_KnowsInfo (hero,DIA_GORR_Hello))
    {
        return 1;
    };
};

FUNC VOID DIA_GORR_PERM_Info()
{   
    AI_Output (other, self,"DIA_GORR_PERM_15_00"); //Jak się tutaj znaleźliście?
    AI_Output (self, other,"DIA_GORR_PERM_13_01"); //Zostaliśmy niesłusznie oskarżeni o zdradę ojczyzny. Oskarżono nas o współpracę z Beliarem.
    AI_Output (self, other,"DIA_GORR_PERM_13_02"); //Kiedyś byliśmy potężnymi Magami Ognia i wierzyliśmy w Innosa. Teraz jednak na prawdę sprzymierzyliśmy się z Beliarem.
    AI_Output (self, other,"DIA_GORR_PERM_13_03"); //Posiadamy moc ognia, ale również moc ciemności. Beliar pomoże się nam zemścić!
};


Teraz wyjaśnienia:

// ************************************************************
//                                  EXIT
// ************************************************************


Jest to tytuł wypowiedzi (chyba) (nie ten, co jest pokazany w wyborze opcji dialogowych podczas rozmowy).

[code]
INSTANCE DIA_GORR_EXIT(C_INFO)


To jest instance tej opcji dialogowej. Każde instance powinno nazywać się DIA_nazwa NPC_o czym jest dialog (np. EXIT).
    npc            = Kdf_9002_Gorr;


Zamiast Kdf_9002_Gorr należy wpisać instance Twojego NPC’a (znak ; musi zostać!)
    nr            = 999;


Numer opcji dialogowej (każda opcja musi mieć inny numer).
    condition    = DIA_GORR_EXIT_Condition;


Powinno być InstanceOpcji_Condition.
    information    = DIA_GORR_EXIT_Info;


Powinno być tak: InstanceOpcji_Info.
    permanent    = 1;


To określa, czy po porozmawianiu o tym można jeszcze raz o tym porozmawiać. Jeżeli jest ustawione na 1, to będzie można o tym gadać do woli, ale jeżeli będzie wpisane 0, to będzie można tylko raz o tym porozmawiać.
    description = DIALOG_ENDE;


Opis opcji. To, co tu wpiszesz będzie się pokazywało przy wyborze opcji dialogowych (wyjątkiem jest KONIEC, który zależy od wersji językowej).
FUNC INT DIA_GORR_EXIT_Condition()
{
    return 1;
};


Tutaj można określić czy po wybraniu tej opcji dialogowej wraca się do wyboru, czy kończy rozmowę lub co jest wymagane, aby o tym porozmawiać, itp.
FUNC VOID DIA_GORR_EXIT_Info()
{   
    AI_StopProcessInfos    (self);
};


Tutaj można określić, co ma się dziać po wybraniu tej opcji dialogowej.

To by było tyle opcji dialogowej KONIEC. Przejdźmy teraz do opcji, która wywołuje rozmowę.
// ************************************************************
//                             Hallo
// ************************************************************


Nazwa dialogu.
INSTANCE DIA_GORR_Hello (C_INFO)


Instance dialogu.
{
    npc            = Kdf_9002_Gorr;
    nr            = 1;
    condition    = DIA_GORR_Hello_Condition;
    information    = DIA_GORR_Hello_Info;
    permanent    = 0;
    description = "Witaj. Kim jesteś?";
};


Tutaj nie będę wszystkiego od początku tłumaczył. Powiem tylko, że w description należy wpisać to, co ma się pojawić w tym dolnym okienku, gdzie się wybiera opcje dialogowe.
FUNC VOID DIA_GORR_Hello_Info()
{   
    AI_Output (other, self,"DIA_GORR_Hello_15_00"); //Witaj. Kim jesteś?
    AI_Output (self, other,"DIA_GORR_Hello_13_01"); //Mam na imię Gorr. Jestem strażnikiem tego obozu.
    AI_Output (other, self,"DIA_GORR_Hello_15_02"); //A cóż to za obóz?
    AI_Output (self, other,"DIA_GORR_Hello_13_03"); //To obóz Magów Czarnego Ognia.
};
[/code]

To jest to, co oni będą mówić. To, co ktoś ma mówić należy wpisać po //. Każda wypowiedź musi się zaczynać AI_Output (other, self,"DIA_GORR_Hello_15_00");. „Other, self,” oznacza, że mówi to bohater, a „self, other,” oznacza, że mówi to NPC. „DIA_GORR_Hello” – tutaj wpisujesz instance opcji dialogowej. „_15” – jeżeli mówi bohater gry, to wpisz „_15”, ale jeżeli mówi NPC, to wpisz „_13”. „_00”, „_01”, „_02”, „_03” – to jest kolejność wypowiedzi. Najlepiej wpisywać 00, 01, 02, 03 itp.

NIE zabraniam kopiowania całości, lub części tutoriala.

Autor: Dekster17

Forum Tawerny Gothic

Objaśnienie, dialog [skrypty]
« dnia: 28 Maj 2009, 18:04:04 »

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 
top
anything