Wynik kompilacji:
Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team Error: Symbol already defined: "frakcja" on line 625 Error: Argument type mismatch (argument 3) on line 629 Error: Array dimensions do not match on line 642 Error: Array dimensions do not match on line 659 4 Errors.
Kod frakcji:
#define MAX_WIELKOSC_FRAKCJA 64 new frakcja_klas[2][MAX_ILOSC_KLAS+1][MAX_WIELKOSC_FRAKCJA+1] Linia: 625 - public bool:is_in_previous(frakcja[0][], frakcja[1][], from) { for(new i = from - 1;i>=1;i--) { Linia: 642 - if(equali(frakcja_klas[0][i], frakcja[0], frakcja_klas[1][i], frakcja[1])) { return true; } } return false; } public WybierzFrakcje(id) { new menu = menu_create("\yWybierz -", "WybierzFrakcje2"); for(new i=1; i <= ilosc_klas; i++) { Linia: 659 - if(!equal(frakcja_klas[0][i],"") && !is_in_previous(frakcja_klas[0][i],i)) { menu_additem(menu,frakcja_klas[0][i],frakcja_klas[0][i]) } } menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); } public WybierzFrakcje2(id) { new menu2 = menu_create("\yWybierz -", "WybierzKlase_Frakcje"); for(new i=1; i <= ilosc_klas; i++) { Linia: 642 - if(!equal(frakcja_klas[1][i],"") && !is_in_previous(frakcja_klas[1][i],i)) { menu_additem(menu2,frakcja_klas[1][i],frakcja_klas[1][i]) } } menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu2); } 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 menu3 = menu_create("\yWybierz -", "WybierzKlase_Handle"); new klasa[50], szTmp[5]; for(new i=1; i <= ilosc_klas; i++) { if(equali(data,frakcja_klas[1][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]); } num_to_str(i, szTmp, charsmax(szTmp)); menu_additem(menu3, klasa, szTmp); } } WczytajDane(id, klasa_gracza[id]); menu_setprop(menu3, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu3, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu3, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu3); menu_destroy(menu); return PLUGIN_CONTINUE; } public WybierzKlase_Handle(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) item = str_to_num(data); 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]) client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie."); else { UstawNowaKlase(id); DajBronie(id); ZastosujAtrybuty(id); } return PLUGIN_CONTINUE; } public ZarejestrujKlase(plugin, params) { if(params != 9) 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); get_string(8, frakcja_klas[0][ilosc_klas], MAX_WIELKOSC_FRAKCJA); get_string(9, frakcja_klas[1][ilosc_klas], MAX_WIELKOSC_FRAKCJA); return ilosc_klas; }