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 musimy jeszcze dodać
new frakcja_gracza[33]możemy pod np new const nalezy_do
i na koniec musimy podmienić
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:MW] 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:MW] Klasa zostanie zmieniona w nastepnej rundzie."); } else { klasa_gracza[id] = item; WczytajDane(id, klasa_gracza[id]); Odrodzenie(id); } return PLUGIN_CONTINUE; }
no i kompilujemy i praca skończona
źródło : www.darkgl.amxx.pl
[uwaga=DarkGL]Drobna poprawka[/uwaga]