Problem przy kompilacji. [PROSTE] ale nie...
SocketS
01.07.2015
Witam. Pomoże ktoś naprawić mi ten błąd " Error: Undefined symbol "n" on line 758 " /
public WybierzKlase_Frakcje(id, menu, item) { if(item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_CONTINUE; } new data[65], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback) new menu2 = menu_create("Wybierz klase:", "WybierzKlase_Handle"); new klasa[370],szTmp[5],bronie[320],bron[22] for(new i=1; i <= ilosc_klas; i++) { if(equali(data,frakcja_klas[i])){ WczytajDane(id, i) bronie = "" for(new b=1, n=1; b <= 32; b++) { if((1<<b) & bronie_klasy[i]) { get_weaponname(b, bron, 21) replace_all(bron, 21, "weapon_", "") ucfirst(bron) if(n > 1) add(bronie, charsmax(bronie), ", ") add(bronie, charsmax(bronie), bron) n++ } } format(klasa, charsmax(klasa), "%s \yPoziom: %i %s %s", nazwy_klas[i], poziom_gracza[id],(n == 2 ? "Bron: " : "Bronie: "),bronie); num_to_str(i,szTmp,charsmax(szTmp)); menu_additem(menu2, klasa, szTmp); } } WczytajDane(id, klasa_gracza[id]); menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu2); client_cmd(id, "spk QTM_CodMod/select"); menu_destroy(menu); return PLUGIN_CONTINUE; }
Jest to ta linijka :
format(klasa, charsmax(klasa), "%s \yPoziom: %i %s %s", nazwy_klas[i], poziom_gracza[id],(n == 2 ? "Bron: " : "Bronie: "),bronie);
NieWiemMamMac@
01.07.2015
new klasa[370],szTmp[5],bronie[320],bron[22]
->
new klasa[370],szTmp[5],bronie[320],bron[22],n
i czy tutaj:
WczytajDane(id, i) bronie = ""
nie powinno być tak:
WczytajDane(id, i) bronie = "" n=1
?
Użytkownik NieWiemMamMac@ edytował ten post 01.07.2015 18:58
Rivit
01.07.2015
Problem jest w tym, że zmienną n tworzysz w pętli, a używasz ja poza nią...
Unikaj tworzenia zmiennych w pętlach...
Moja wersja:
public WybierzKlase_Frakcje(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } new data[65], i menu_item_getinfo(menu, item, i, data,64, _, _, i) new menu2 = menu_create("Wybierz klase:", "WybierzKlase_Handle"); new klasa[370],szTmp[5],bronie[320],bron[22],b,n for(i=1; i <= ilosc_klas; i++) { if(equali(data, frakcja_klas[i])){ WczytajDane(id, i) bronie = "" for(b=1, n=1; b <= 32; b++) { if((1<<b) & bronie_klasy[i]) { get_weaponname(b, bron, 21) replace_all(bron, 21, "weapon_", "") ucfirst(bron) if(n > 1) add(bronie, charsmax(bronie), ", ") add(bronie, charsmax(bronie), bron) n++ } } format(klasa, charsmax(klasa), "%s \yPoziom: %i %s %s", nazwy_klas[i], poziom_gracza[id],(n == 2 ? "Bron: " : "Bronie: "),bronie); num_to_str(i,szTmp,charsmax(szTmp)); menu_additem(menu2, klasa, szTmp); } } WczytajDane(id, klasa_gracza[id]); menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu2); client_cmd(id, "spk QTM_CodMod/select"); menu_destroy(menu); return PLUGIN_CONTINUE; }
Kolego wyżej:
n jest ustawianie na 1 w pętli, więc nie ma potrzeby już
Ps. Pisane z tel, więc mogą być błędy drobne...