Witam.
Chcę zrobić aby po wpisaniu komendy : /klasa było dostępne menu
- Darmowe - Premium ----> - Snajper - Komandos -----> - Snajper 5 poziom - Elitarny Snajper 1 poziom
A więc próboje tak lecz nie wyświetla się menu klas.
#define MAX_WIELKOSC_FRAKCJA 64 new lista_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_FRAKCJA+1]; new frakcja_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_FRAKCJA+1]; new nazwa_klasy[MAX_ILOSC_KLAS+1][64]; new nazwa_listy[MAX_ILOSC_KLAS+1][64]; new nazwa_frakcji[MAX_ILOSC_KLAS+1][64]; new klasid;
loadfile() loadfile2()
public loadfile() { new file[256]; get_configsdir(file,charsmax(file)); formatex(file, charsmax(file), "%s/cod_lista.ini", file); if(!file_exists(file)) return; new row[128], trash, size=file_size(file,1); for(new i=0;i<size;i++) { read_file(file, i, row, charsmax(row), trash); if((contain(row,";")!=0) && strlen(row) && klasid<MAX_ILOSC_KLAS+1) { replace(row, charsmax(row), "[klasa]", ""); split(row, nazwa_klasy[klasid], charsmax(nazwa_klasy[]), nazwa_listy[klasid], charsmax(nazwa_listy[]), "[lista]"); klasid++; } } } public loadfile2() { new file[256]; get_configsdir(file,charsmax(file)); formatex(file, charsmax(file), "%s/cod_frakcje.ini", file); if(!file_exists(file)) return; new row[128], trash, size=file_size(file,1); for(new i=0;i<size;i++) { read_file(file, i, row, charsmax(row), trash); if((contain(row,";")!=0) && strlen(row) && klasid<MAX_ILOSC_KLAS+1) { replace(row, charsmax(row), "[klasa]", ""); split(row, nazwa_klasy[klasid], charsmax(nazwa_klasy[]), nazwa_frakcji[klasid], charsmax(nazwa_frakcji[]), "[frakcja]"); klasid++; } } }
public ZarejestrujKlase(plugin, params) { if(params != 7) return PLUGIN_CONTINUE; if(++ilosc_klas > MAX_ILOSC_KLAS) return -1; pluginy_klas[ilosc_klas] = plugin; get_string(1, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY); get_string(2, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU); bronie_klasy[ilosc_klas] = get_param(3); zdrowie_klas[ilosc_klas] = get_param(4); kondycja_klas[ilosc_klas] = get_param(5); inteligencja_klas[ilosc_klas] = get_param(6); wytrzymalosc_klas[ilosc_klas] = get_param(7); for(new i=0;i<klasid;i++) { if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i])) { lista_klas[ilosc_klas] = nazwa_listy[i]; } if(equali(nazwy_klas[ilosc_klas],nazwa_klasy[i])) { frakcja_klas[ilosc_klas] = nazwa_frakcji[i]; } } return ilosc_klas; }
public WybierzKlase(id) { hud_znika[id]=1; new menu = menu_create("\yWybierz\r -", "WybierzKlasee_Handle"); for(new i=1; i <= ilosc_klas; i++) { if(!equal(frakcja_klas[i],"") && !is_in_previous(frakcja_klas[i],i)) { menu_additem(menu,frakcja_klas[i],frakcja_klas[i]) } } menu_addtext(menu, "^n\dUzyj komende\w /q\d aby uaktywnic Quest.^n^n\yCZIT =\r PERM^n\yREKLAMA =\r BAN^n\yEXPIENIE =\r BAN^n\yTXT =\r BAN^n\yBRAK KULTURY =\r BAN^n^n\r** \wZapraszam na nasze forum : www.Hajtowoo.xaa.pl \r**", 0) menu_setprop(menu, MPROP_NUMBER_COLOR, "\y"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu); } public WybierzKlasee_Handle(id, menu, item) { new data[65], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback) switch(item) { case 0: WybierzKlase2(id) } } public WybierzKlase2(id) { hud_znika[id]=1; new menu = menu_create("\yWybierz\r -", "WybierzKlase_Frakcje"); for(new i=1; i <= ilosc_klas; i++) { if(!equal(lista_klas[i],"") && !is_in_previous(lista_klas[i],i)) { menu_additem(menu,lista_klas[i],lista_klas[i]) } } menu_setprop(menu, MPROP_NUMBER_COLOR, "\y"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu); } public WybierzKlase_Frakcje(id, menu, item) { if(item == MENU_EXIT) { hud_znika[id]=0; menu_destroy(menu); return PLUGIN_CONTINUE; } new data[65], temp[64] new acces, callback menu_item_getinfo(menu, item, acces, data,64, temp, 63, callback) new menu2 = menu_create("\yWybierz\r -", "WybierzKlase_Handle"); new klasa[50], numer[5], dana_klasa; for(new i=1; i <= ilosc_klas; i++) { if(awansuje_z[i]) { new bool:moze = false; WczytajDane(id, awansuje_z[i]); if(poziom_gracza[id] >= awanse[ZnajdzAwans(awansuje_z[i], i)][2]) moze = true; WczytajDane(id, i); if(moze) formatex(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]); else formatex(klasa, charsmax(klasa), "\r%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]); } else { WczytajDane(id, i); formatex(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]); } menu_additem(menu, klasa); } WczytajDane(id, klasa_gracza[id]); menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu2); menu_destroy(menu); return PLUGIN_CONTINUE; } public WybierzKlase_Handle(id, menu, item) { hud_znika[id]=0; if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } if(awansuje_z[item]) { WczytajDane(id, awansuje_z[item]); new bool:moze, a = ZnajdzAwans(awansuje_z[item], item) if(poziom_gracza[id] >= awanse[a][2]) moze = true; WczytajDane(id, klasa_gracza[id]); if(!moze) { client_print(id, print_chat, "[COD:MW] Aby uzywac tej klasy musisz zdobyc %i poziom na klasie %s!", awanse[a][2], nazwy_klas[awansuje_z[item]]); return PLUGIN_CONTINUE; } } if(item == klasa_gracza[id] && !nowa_klasa_gracza[id]) return PLUGIN_CONTINUE; nowa_klasa_gracza[id] = item; if(klasa_gracza[id]) ColorChat(id, GREEN, "[COD:MW3]^x01 Klasa zostanie zmieniona w nastepnej rundzie."); else { UstawNowaKlase(id); DajBronie(id); ZastosujAtrybuty(id); } return PLUGIN_CONTINUE; }
plik cod_lista.ini :
[klasa]Snajper[lista]Darmowe [klasa]Elitarny Snajper[lista]Darmowe [klasa]Komandos[lista]Premium [klasa]Elitarny Komandos[lista]Premium
Plik cod_frakcje.ini :
[klasa]Snajper[frakcja]Snajper [klasa]Eliterny Snajper[frakcja]Snajper [klasa]Komandos[frakcja]Komandos [klasa]Eliterny Komandos[frakcja]Komandos
Użytkownik 1stADXionC edytował ten post 20.12.2020 12:42