public ListaFrakcji(id) { new nazwa[33]; new menu = menu_create("Wybierz -", "ListaFrakcji_handler"); for(new i=1; i <= ilosc_klas; i++) { ArrayGetString(frakcja_klas, i, nazwa, 32); if(!equal(nazwa,"") && !is_in_previous(nazwa, i, 1)) { menu_additem(menu, nazwa) } } menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu, page[id][0]); } public ListaFrakcji_handler(id, menu, item) { if(item == MENU_EXIT) { page[id][0] = 0; menu_destroy(menu); return PLUGIN_HANDLED; } page[id][0] = item/7; new data[2], iName[65] new acces, callback menu_item_getinfo(menu, item, acces, data,1, iName, 64, callback); copy(wybrana_frakcja[id], 64, iName); menu_destroy(menu); ListaFrakcji2(id); return PLUGIN_HANDLED; } public ListaFrakcji2(id) { new nazwa[2][33]; new menu = menu_create("Wybierz -", "ListaFrakcji_handler2"); for(new i=1; i <= ilosc_klas; i++) { ArrayGetString(frakcja_klas, i, nazwa[0], 32); ArrayGetString(frakcja_klas2, i, nazwa[1], 32); if(equali(wybrana_frakcja[id],nazwa[0]) && !is_in_previous(nazwa[1], i, 2)) { menu_additem(menu,nazwa[1]); } } menu_setprop(menu, MPROP_EXITNAME, "Wroc"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu, page[id][1]); } public ListaFrakcji_handler2(id, menu, item) { if(item == MENU_EXIT) { page[id][1] = 0; copy(wybrana_frakcja[id], 64, ""); menu_destroy(menu); ListaFrakcji(id); return PLUGIN_HANDLED; } page[id][1] = item/7; new data[2], iName[65] new acces, callback menu_item_getinfo(menu, item, acces, data,1, iName, 64, callback); copy(wybrana_frakcja2[id], 64, iName); menu_destroy(menu); WybierzKlase(id); return PLUGIN_HANDLED; } public WybierzKlase(id) { new menu = menu_create("Wybierz klase z-", "WybierzKlase_handler"); new klasa[50],szTmp[5], nazwa[33]; for(new i=1; i <= ilosc_klas; i++) { ArrayGetString(frakcja_klas2, i, nazwa, 32); if(equali(wybrana_frakcja2[id],nazwa)) { WczytajDane(id, i); formatex(klasa, charsmax(klasa), "%a yPoziom: %i", ArrayGetStringHandle(nazwy_klas, i), poziom_gracza[id]); num_to_str(i,szTmp,charsmax(szTmp)); menu_additem(menu, klasa, szTmp); } } WczytajDane(id, klasa_gracza[id]); menu_setprop(menu, MPROP_EXITNAME, "Wroc do poprzedniego menu"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); } public WybierzKlase_handler(id, menu, item, key) { if(item == MENU_EXIT) { menu_destroy(menu); copy(wybrana_frakcja2[id], 64, ""); ListaFrakcji2(id); return PLUGIN_HANDLED; } new data[65], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback) switch(key) { case 0: { if(wybrana_klasa[id] == klasa_gracza[id] && !nowa_klasa_gracza[id]) { WybierzKlase(id) } else { if(ArrayGetCell(awansuje_z, wybrana_klasa[id])) { WczytajDane(id, ArrayGetCell(awansuje_z, wybrana_klasa[id])); new bool:moze, a = ZnajdzAwans(ArrayGetCell(awansuje_z, wybrana_klasa[id]), wybrana_klasa[id]) if(poziom_gracza[id] >= ArrayGetCell(awanse[2], a)) moze = true; WczytajDane(id, klasa_gracza[id]); if(!moze) { ColorChat(id, GREEN, "[COD:MW3]^x01 Aby uzywac tej klasy musisz zdobyc %i poziom na klasie %a!", ArrayGetCell(awanse[2], a), ArrayGetStringHandle(nazwy_klas, ArrayGetCell(awansuje_z, wybrana_klasa[id]))); return PLUGIN_CONTINUE; } } nowa_klasa_gracza[id] = wybrana_klasa[id]; if(klasa_gracza[id]) ColorChat(id, GREEN, "[COD:MW3]^x01 Klasa zostanie zmieniona w nastepnej rundzie."); else { UstawNowaKlase(id); DajBronie(id); ZastosujAtrybuty(id); } } } case 1: { WybierzKlase(id); } } menu_destroy(menu); return PLUGIN_HANDLED; }