Itharu Team

Forum grupy modderskiej Itharu Team.

  • Nie jesteś zalogowany.

Ogłoszenie

PATRONITE

#1 2016-11-29 22:25:52

ParzivalZ
Administracja Itharu Team
Zarejestrowany: 2016-11-27
Posty: 2192

[G2 NK] - Funkcje

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

Chwilowo sam wzór, niedługo rozszerzę ten poradnik.
#Leiwark


https://i.imgur.com/4MytkTe.png

Offline

 

#2 2016-12-10 11:11:57

Kruk
Administracja Itharu Team
Zarejestrowany: 2016-12-09
Posty: 982

Re: [G2 NK] - Funkcje

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.

Ostatnio edytowany przez Kruk (2016-12-10 11:13:33)


while (!success) try{...}

https://media.discordapp.net/attachments/359470928389865483/410858992965910538/Leiwark_ITH_TEAM_Kruk.png

Offline

 

#3 2016-12-10 11:20:24

ParzivalZ
Administracja Itharu Team
Zarejestrowany: 2016-11-27
Posty: 2192

Re: [G2 NK] - Funkcje

Nieźle opisujesz img/smilies/smile Powinieneś napisać kilka poradników jak chcesz img/smilies/wink


https://i.imgur.com/4MytkTe.png

Offline

 

#4 2016-12-10 11:28:41

Kruk
Administracja Itharu Team
Zarejestrowany: 2016-12-09
Posty: 982

Re: [G2 NK] - Funkcje

Mam taki zamiar img/smilies/tongue


while (!success) try{...}

https://media.discordapp.net/attachments/359470928389865483/410858992965910538/Leiwark_ITH_TEAM_Kruk.png

Offline

 

#5 2016-12-10 11:40:17

ParzivalZ
Administracja Itharu Team
Zarejestrowany: 2016-11-27
Posty: 2192

Re: [G2 NK] - Funkcje

img/smilies/big_smile img/smilies/trink39 img/smilies/big_smile


https://i.imgur.com/4MytkTe.png

Offline

 

Stopka forum

Powered by PunBB
Host by: Hosting
© Copyright 2002–2005 Rickard Andersson



Założ : stronę za darmo