Aktualnie pracujemy nad:
Zadaniami pobocznymi do modyfikacji Bandyta
W tym tutorialu opiszę jak pisać funkcje, i jak z nich korzystać, bardzo przydatne, jeśli chcecie cokolwiek rozumieć z moddingu ;)
1.Definiowanie funkcji:
Funkcję definiujemy w ten sposób:
func typ_funkcji nazwa_funkcji (Parametr1, Parametr2, Parametr3);
2.Typy funkcji:
Istnieją następujące 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, funkcja nie musi zwracać wartości [Co nie znaczy, że nie może]);
Float - Zmiennopozycyjny typ funkcji;
3.Przykład - funkcja sprawdzająca, czy NPC jest silny:
func int NpcJestSilny (var C_NPC self) { if (self.attribute[ATR_STRENGTH]>=200) { return TRUE; }; };
4.Zastosowanie - Robimy dialog typu permament, w którym dajemy Xardasowi mikstury siły, które on wypija. Jeśli NPC jest już bardzo silny, na ekranie wyświetla się jego stosowny komunikat:
if (NpcJestSilny (NONE_100_XARDAS)); { Print("Xardas jest już koksem, możesz przestać."); };
Wiem, że przykład beznadziejny, ale nic lepszego nie przyszło mi do głowy, mam nadzieję, że komuś pomogłem tym tutorialem ;p
Umiejętności także możemy zdefiniować dzięki funkcją.
Przykład :
Spoiler:
func void B_TeachMPRegeneration ()
{
if (MP_Regen_Level==0)
{
MP_Regen_Level=1;
hero.lp=hero.lp-10;
Print ("Regeneracja many - poziom pierwszy.");
}
else if (MP_Regen_Level==1)
{
MP_Regen_Level=2;
hero.lp=hero.lp-10;
Print ("Regeneracja many - poziom drugi.");
}
else if (MP_Regen_Level==2)
{
MP_Regen_Level=3;
hero.lp=hero.lp-10;
Print ("Regeneracja many - poziom trzeci.");
}
else if (MP_Regen_Level==3)
{
MP_Regen_Level=4;
hero.lp=hero.lp-10;
Print ("Regeneracja many - poziom czwarty.");
}
else if (MP_Regen_Level==4)
{
MP_Regen_Level=5;
hero.lp=hero.lp-10;
Print ("Regeneracja many - poziom piąty.");
}
else
{
Print ("Maksymalny poziom regeneracji zdrowia!");
};
};
Lesterek17-Połączyłem posty.
Offline