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.


Dodatki SourceMod















