Dodawanie klas - Nowe klasy CoD:MW

S!p

Administrator
Członek Załogi
Zauważyłem ostatnio że wiele osób szuka poradnika jak dodać nowe klasy do modyfikacji Call of Duty.
Nie jest to skomplikowany proces - wystarczy edytować kilka linijek w .sma
Jako wersji bazowej użyję http://CSSupport.pl/threads/474-Call-of-Duty-MW-Mod-(Beta)?p=489#post489

Zaczynamy :)

Linijka ~136. Znajdź:
PHP:
enum { NONE = 0, Snajper, Komandos, Strzelec, Obronca, Medyk, Wsparcie, Saper, Demolitions, Rusher, Rambo };
Za Rambo dodaj , oraz nazwę swojej klasy. Jeżeli jest to wyraz dwuczłonowy wstaw _ pomiędzy wyrazy.

Przykładowa poprawnie dodana klasa:
PHP:
enum { NONE = 0, Snajper, Komandos, Strzelec, Obronca, Medyk, Wsparcie, Saper, Demolitions, Rusher, Rambo, Testowa_Klasa };
Zwróć uwagę na trzy istotne rzeczy:
  • Po klasie Rambo dodałem przecinek
  • Między wyraz dwuczłonowy wstawiłem 'podłogę'
  • Po nazwie ostatniej klasy nie ma przecinka
W miejscu gdzie można popełnić tego typu błąd dopiszę Uwaga #1

Następna linijka; 137:
PHP:
new const zdrowie_klasy[] = { 0, 120, 140, 110, 120, 110, 100, 100, 110, 100, 130};
Ustalamy zdrowie klasy.
Po ostatniej liczbie dodajemy przecinek oraz ilość hp.

Przykładowo poprawnie dodana ilość hp:
PHP:
new const zdrowie_klasy[] = { 0, 120, 140, 110, 120, 110, 100, 100, 110, 100, 130, 150};
Zwróć uwagę na trzy istotne rzeczy:
  • Po klasie Rambo dodałem przecinek
  • Między wyraz dwuczłonowy wstawiłem 'podłogę'
  • Po nazwie ostatniej klasy nie ma przecinka

Następna linijka; 138:
Ustalamy szybkość klasy. 1.0 oznacza zwykłą szybkość chodu. 0.5 będzie o połowę wolniejsze natomiast 2.0 będzie dwa razy szybszy.
PHP:
new const Float:szybkosc_klasy[] = {0.0, 1.2, 1.35, 0.8, 0.8, 1.0, 1.0, 1.0, 1.0, 1.3 , 1.15};

Po ostatniej szybkości dodajemy przecinek oraz wpisujemy naszą wartość.
Przykładowo poprawnie dodana szybkość:
PHP:
new const Float:szybkosc_klasy[] = {0.0, 1.2, 1.35, 0.8, 0.8, 1.0, 1.0, 1.0, 1.0, 1.3 , 1.15, 1.43};
Uwaga #1

Następnym krokiem będzie dodanie pancerza (ilości AP) klasy.
W linijce następnej - 139 szukamy
PHP:
new const pancerz_klasy[] = { 0, 100, 100, 100, 150, 100, 0, 100, 100, 0, 150};
Oraz po ostatniej wartości dopisujemy ilość armor points klasy.
Jeżeli klasa ma nie dostawać pancerza wpisujemy 0.
Poprawnie edytowana linijka:
PHP:
new const pancerz_klasy[] = { 0, 100, 100, 100, 150, 100, 0, 100, 100, 0, 150,0};

Uwaga #1

W tym momencie wpisujemy nazwę klasy wyświetlaną w menu. Może ona zawierać przerwy aczkolwiek nie może zawierać polskich znaków.
Dla przypomnienia dodam że cs ich nie obsługuje tak więc mielibyśmy przerwę w nazwie klasy.
Linijka 150 - 151:
PHP:
new const nazwy_klas[][] = {"Brak",
	"Snajper",
	"Komandos",
	"Strzelec wyborowy",
	"Obronca",
	"Medyk",
	"Wsparcie ogniowe",
	"Saper",
	"Demolitions",
	"Rusher",
	"Rambo (Klasa Premium)"
};
Po ostatniej nazwie (w moim przypadku "Rambo (klasa Premium)") dodajemy przecinek oraz enter.
W nowej linijce otwieramy cudzysłów i w nim wpisujemy nazwę.
U mnie wygląda to tak:
PHP:
new const nazwy_klas[][] = {"Brak",
	"Snajper",
	"Komandos",
	"Strzelec wyborowy",
	"Obronca",
	"Medyk",
	"Wsparcie ogniowe",
	"Saper",
	"Demolitions",
	"Rusher",
	"Rambo (Klasa Premium)",
	"Testowa Klasa"
Uwaga #1

Mamy większość za sobą ;]
Pozostały nam już tylko dwa kroki.

Następna funkcja będzie służyła do opisu naszej klasy po wpisaniu komendy na say /klasy.

Linijka 154 (może być nieco dalej w zależności od tego ile klas dodaliśmy):
PHP:
new const opisy_klas[][] = {"Brak",
	"Dostaje AWP, scout i deagle, 120hp bazowe, 1/3 szansy natychmiastowego zabicia noza, 110% biegu, 100 pancerza",
	"Dostaje Deagle, 140hp bazowe, Natychmiastowe zabicie z noza (prawy przycisk myszy), 135% biegu, 100 pancerza",
	"Dostaje AK i M4A1, 110hp bazowe, 80 % biegu, 100 pancerza",
	"Dostaje M249 (Krowa), 120hp bazowe, 80% biegu, jest odporny na miny, ma wszystkie granaty, 150 pancerza",
	"Dostaje UMP45, 110hp bazowe, posiada apteczke, 100 pancerza",
	"Dostaje MP5, 100 hp bazowe, Ma dwie rakiety,ktore po trafieniu przeciwnika zadaja dużo obrazen",
	"Dostaje P90, 100hp bazowe, 100 pancerza, Dostaje 3 miny, gdy ktos w nie wejdzie wybuchaja",
	"Dostaje AUG, 110 hp bazowe, 100 pancerza, Ma wszystkie granaty, Dostaje dynamit, który zabiera sporo zycia wszystkim znajdującym się blisko niego",
	"Dostaje szotgana M3, 100 hp bazowe, 130% biegu",
	"Dostaje Famasa, 130 hp bazowe, 120% biegu, za kazde zabojstwo +20 hp oraz pelen magazynek, podwojny skok"
};
Po ostatniej linijce z opisem dodajemy przecinek oraz enter.
Otwieramy cudzysłów i piszemy jaką broń dostanie nasza nowa klasa, ilość hp, ilość ap oraz jakie specjalne umiejętności będzie miała.

Przykład:
PHP:
new const opisy_klas[][] = {"Brak",
	"Dostaje AWP, scout i deagle, 120hp bazowe, 1/3 szansy natychmiastowego zabicia noza, 110% biegu, 100 pancerza",
	"Dostaje Deagle, 140hp bazowe, Natychmiastowe zabicie z noza (prawy przycisk myszy), 135% biegu, 100 pancerza",
	"Dostaje AK i M4A1, 110hp bazowe, 80 % biegu, 100 pancerza",
	"Dostaje M249 (Krowa), 120hp bazowe, 80% biegu, jest odporny na miny, ma wszystkie granaty, 150 pancerza",
	"Dostaje UMP45, 110hp bazowe, posiada apteczke, 100 pancerza",
	"Dostaje MP5, 100 hp bazowe, Ma dwie rakiety,ktore po trafieniu przeciwnika zadaja dużo obrazen",
	"Dostaje P90, 100hp bazowe, 100 pancerza, Dostaje 3 miny, gdy ktos w nie wejdzie wybuchaja",
	"Dostaje AUG, 110 hp bazowe, 100 pancerza, Ma wszystkie granaty, Dostaje dynamit, który zabiera sporo zycia wszystkim znajdującym się blisko niego",
	"Dostaje szotgana M3, 100 hp bazowe, 130% biegu",
	"Dostaje Famasa, 130 hp bazowe, 120% biegu, za kazde zabojstwo +20 hp oraz pelen magazynek, podwojny skok",
	"Dostaje M4A1, 150 hp bazowe, 143% biegu. Ma wszystkie granaty oraz dostaje jedna mine"
};

Zwróć uwagę na brak polskich znaków oraz Uwaga #1

Teraz dodamy naszej klasie to co napisaliśmy ;)
W okolicach linijki 418 szukamy
PHP:
		case Rambo:
		{
			give_item(id, "weapon_famas");
		}
Oraz dodajemy case z naszą klasą. Nazwa musi być taka sama jak podana w pierwszym punkcie natomiast pomiędzy nawiasami dodajemy bronie oraz w moim przypadku miny.

Przykład:
PHP:
		case Rambo:
		{
			give_item(id, "weapon_famas");
		}
		case Testowa_Klasa:
		{
			give_item(id, "weapon_M4A1"); // Daje broń M4A1
			give_item(id, "weapon_hegrenade"); // Daje granat wybuchowy
			give_item(id, "weapon_flashbang"); // Daje granat oślepiający
			give_item(id, "weapon_flashbang"); // Daje granat oślepiający
			give_item(id, "weapon_smokegrenade"); // Daje granat dymny
			ilosc_min_gracza[id] = 1; // Daje jedną minę 
		}

Teraz wystarczy skompilować plugin lokalnie lub na stronie http://webcompiler.e-sipek.pl i gotowe :)

Dla e-sipek.pl
Zakaz kopiowania!
 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

Back
Do góry