Strona główna Lista użytkowników Fanpage OrtegaX YouTube Archi Gothablo

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[G2 NK] - Funkcje
Król

1,307 Postów
167 Tematów
Mężczyzna
Zarejestrowany: Feb 2016
Reputacja: 123

#1
Jak zrobić funkcję?
Bardzo łatwo.
Piszemy:
Kod:
func typ_funkcji nazwa_funkcji (Parametr1, Parametr2, Parametr3);
Typy funkcji:
> C_NPC - Funkcja klasy C_NPC
> C_ITEM - Funkcja klasy C_ITEM
> int - Liczbowy typ funkcji
> string - Tekstowy typ funkcji
> void - Pusty typ funkcji (nie są wymagane argumenty, nie musi zwracać wartości)
> float - Zmiennopozycyjny typ funkcji

Funkcja może również zwracać wartość, co można później wykorzystać w dialogu, albo triggerze.

Kod:
func int Czy_jest_bandyta (var C_NPC slf)
{
    if slf.guild == GIL_BDT{
        return TRUE;
    }
    else{
        return FALSE
    };
};
Taki prosty przykład funkcji o typie liczby całkowitej, która zwraca wartość TRUE w przypadku, gdy podany NPC ma gildię bandyty i FALSE, gdy nie jest. Wykorzystanie w grze jest również proste.

Weźmy sobie prosty dialog.
Kod:
INSTANCE DIA_Banan_Bandyta   (C_INFO)
{
    npc         = OP_5014_Banan;
    nr          = 1;
    condition   = DIA_Banan_Bandyta_Condition;
    information = DIA_Banan_Bandyta_Info;
    permanent   = FALSE;
    description   = "Jesteś bandytą!";
};
FUNC INT DIA_Banan_Bandyta_Condition()
{    //jest to zapis równoważny takiemu if (Czy_jest_bandyta (self) == TRUE)
    if (Czy_jest_bandyta (self)){
        return TRUE;    
    };
};
FUNC VOID DIA_Banan_Bandyta_Info()
{
    AI_Output (other, self,"DIA_Banan_Bandyta_15_01");//Jesteś bandytą!
    AI_Output ( self,other,"DIA_Banan_Bandyta_10_02");//O nie! Skąd wiesz?
    AI_Output (other, self,"DIA_Banan_Bandyta_15_03");//Twój strój wiele mówi...
    AI_Output ( self,other,"DIA_Banan_Bandyta_10_04");//Kłamiesz. Musisz być czarnoksiężnikiem! Muszę uciekać.
};
Dzięki warunkowi w DIA_Banan_Bandyta_Condition() nasza opcja dialogowa pojawi się w momencie, gdy NPC będzie miał ustawioną gildię na bandytę, co sprawdza wcześniej zdefiniowana funkcja.

Twórcy: Kruk & Leiwark

Odpowiedz
Podziękowanie dał/dali: Gepsiu




Użytkownicy przeglądający ten wątek: 1 gości
Styl forum:
Witaj!
or Rejestracja?