Skocz do zawartości
Szukaj w
  • Więcej opcji...
Znajdź wyniki, które...
Szukaj wyników w...
Petrus

[Cod stary] Dodawanie frakcji

Brak odpowiedzi w tym temacie

Rekomendowane odpowiedzi

Pokaże w tym tutku jak dodać frakcje do coda starego ;)

 

Pierwsze co robimy to dodajemy nową tablicę np. pod:

 

new const nazwy_klas[][] = {"Brak",
"Snajper",
"Komandos",
"Strzelec wyborowy",
"Obronca",
"Medyk",
"Wsparcie ogniowe",
"Saper",
"Demolitions",
"Rusher",
"Rambo (Klasa Premium)"
};

 

dodajemy

 

new const frakcje[][]={
"Brak",
"Polacy",
"Rosjanie"
}

 

zawsze pierwsze musi być Brak potem po przecinkach podajemy nazwy frakcji po ostaniej frakcji przecinka nie ma ilość jest dowolna ale nie przesadzajmy bo potem będzie dużo roboty ;)

 

dobrze idziemy dalej

 

dodajemy

 

enum { NONE = 0,polacy,rosjanie}

 

dodajemy tablice :

 

new const nalezy_do[]={
NONE,
polacy,
rosjanie,
polacy,
rosjanie,
polacy,
polacy,
rosjanie,
polacy,
polacy,
rosjanie
}

 

to tutaj ustalamy do której frakcji należy klasa i tak w tym przykładzie Snajper należy do polaków a Komandos do Rosjan

 

Następnie musimy podmienić funkcje

 

public WybierzKlase(id)

 

na tą

 

public WybierzKlase(id)
{
new menu = menu_create("Wybierz frakcje:", "Wybierzfrakcje_Handle");
for(new i = 1;i<sizeof(frakcje);i++){
	menu_additem(menu, frakcje[i]);
}
menu_display(id, menu);
}

i dodać tą

 

public Wybierzfrakcje_Handle(id, menu2, item)
{
if(item == MENU_EXIT)
{
	menu_destroy(menu2);
	return PLUGIN_CONTINUE;
}

item++;
frakcja_gracza[id] = item;
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50];
for(new i=1; i<sizeof nazwy_klas; i++)
{
	if(nalezy_do[i] == item){
		WczytajDane(id, i);
		format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
		menu_additem(menu, klasa);
	}
}

WczytajDane(id, klasa_gracza[id]);

menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);

client_cmd(id, "spk QTM_CodMod/select");
#if defined BOTY
if(is_user_bot2(id))
	WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1));
#endif

return PLUGIN_CONTINUE;
}

 

w zmiennych globalnych (np. przed new const nalezy_do[]) musimy jeszcze dodać

 

new frakcja_gracza[33]

 

i na koniec musimy podmienić funkcje

 

WybierzKlase_Handle(id, menu, item)

 

na

 

public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");

if(item == MENU_EXIT)
{
	menu_destroy(menu);
	return PLUGIN_CONTINUE;
}

item++;

new ile = 0;
for(new i=1; i<sizeof nazwy_klas; i++)
{
	if(nalezy_do[i] == frakcja_gracza[id]){
		ile++;
	}
	if(ile == item){
		item = i;
		break;
	}
}


if(item == klasa_gracza[id])
	return PLUGIN_CONTINUE;

if(item == Rambo && !(get_user_flags(id) & ADMIN_LEVEL_H))
{
	client_print(id, print_chat, "[COD] Nie masz uprawnien aby kozystac z klasy premium.");
	WybierzKlase(id);
	return PLUGIN_CONTINUE;
}

if(klasa_gracza[id])
{
	nowa_klasa_gracza[id] = item;
	client_print(id, print_chat, "[COD] Klasa zostanie zmieniona w nastepnej rundzie.");
}
else
{
	klasa_gracza[id] = item;
	WczytajDane(id, klasa_gracza[id]);
	Odrodzenie(id);
}
return PLUGIN_CONTINUE;
}

 

 

www.amxx.pl

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×