W tym prostym poradniku opisze w jaki sposób tworzyć nowe klasy oraz itemy do nowego coda.
1. Tworzenie Klas
Spoiler
Pierw musimy zarejestrować nową klasę więc do:
Pierw musimy zarejestrować nową klasę więc do:
public OnPluginStart()
dodajemy:
cod_register_class(nazwa, opis, bronie, inteligencja, zdrowie, obrazenia, wytrzymalosc, kondycja);
a następnie wypełniamy prawidłowo, więc gdzieś na górze wrzucamy:
new const String:nazwa[] = "Nazwa"; new const String:opis[] = Opis"; new const String:bronie[] = "#Bron"; new const inteligencja = 0; new const zdrowie = 0; new const obrazenia = 0; new const wytrzymalosc = 0; new const kondycja = 0;
I to by było na tyle, jeżeli chodzi o prostą klasę. Ale gdybyśmy chcieli by po wybraniu przez nas klasy wykonywała się jakaś wybrana przez nas funkcja to służą do tego forwardy znajdujące się w silniku. Niżej przykładowy kod klasy wraz z opisem:
#include <sourcemod> #include <codmod> new const String:nazwa[] = "Strzelec Wyborowy"; // nazwa klasy new const String:opis[] = "Moze podnosic na zmiane m4a1 oraz ak47"; // opis klasy new const String:bronie[] = "#weapon_m4a1#weapon_ak47#weapon_glock"; // bronie na liście muszą być poprzedzone # by były zczytywane poprawnie new const inteligencja = 0; // punkty inteligencji na start new const zdrowie = 10; // punkty zdrowia na start (100+punkty klasy-gracza-bonusowe) new const obrazenia = 0; // punkty obrazen na start new const wytrzymalosc = 20; // punkty wytrzymalosci na start new const kondycja = -38; // punkty kondycji na start public Plugin:myinfo = { name = nazwa, author = "Linux`", description = "Cod Klasa", version = "1.0", url = "http://steamcommunity.com/id/linux2006" }; public OnPluginStart() { cod_register_class(nazwa, opis, bronie, inteligencja, zdrowie, obrazenia, wytrzymalosc, kondycja); } public cod_class_enabled(client) { // wywolywany forward przy zmianie klasy na wybrana } public cod_class_disabled(client) { // wywolywany forward przy zmianie klasy na inna } public cod_class_skill_used(client) { // wywolywany forward przy uzyciu umiejetnosci klasy (in_use) }
2. Tworzenie Itemów
Spoiler
Pierw musimy zarejestrować nowy item więc do:
Pierw musimy zarejestrować nowy item więc do:
public OnPluginStart()
dodajemy:
cod_register_item(nazwa, opis, 0, 0); // te dwa zera po opisie itemu oznaczaja jego min i max wartosc, liczby te mozemy wykorzystac jezeli chcemy np zrobic 1/x na wywolanie okreslonej funkcji
a następnie wypełniamy prawidłowo, więc gdzieś na górze wrzucamy:
new const String:nazwa[] = "Samouczek"; // nazwa itemu new const String:opis[] = "Instrukcja obslugi"; // opis itemu
I to by było na tyle, jeżeli chodzi o prosty item. Ale gdybyśmy chcieli by po zdobyciu przez nas itemu wykonywała się jakaś wybrana przez nas funkcja to służą do tego forwardy znajdujące się w silniku. Niżej przykładowy kod itemu wraz z opisem:
#include <sourcemod> #include <codmod> new const String:nazwa[] = "Nazwa"; new const String:opis[] = "Opis"; public Plugin:myinfo = { name = nazwa, author = "Linux`", description = "Cod Item", version = "1.0", url = "http://steamcommunity.com/id/linux2006" }; public OnPluginStart() { cod_register_item(nazwa, opis, 0, 0); } public cod_item_enabled(client) // w wypadku dodania losowej wartosci mozna dopisac nowy argument by pobrac wartosc przedmiotu, np (client, wartosc) { // wywolywany forward przy zdobyciu itemu } public cod_item_disabled(client) { // wywolywany forward przy wyrzuceniu itemu } public cod_item_used(client) { // wywolany forward przy uzyciu umiejetnosci itemu (in_use) }
Powyższy kod wystarczy skopiować do notatnika a następnie przekompilować i wrzucić do plugins by cieszyć się nową klasą lub itemem.
Silnik wraz z paczką modyfikacji, można nabyć wyłącznie poprzez kontakt ze mną. Więcej o tym w sygnaturze.