Mój problem polega na tym, że tworzona jest dodatkowa pusta frakcja:
Po wybraniu 1. nie pojawia się żadne menu z wyborem klasy.
cod_frakcje.ini:
Spoiler
[klasa]Admiral[frakcja]Podstawowe
[klasa]Demolitions[frakcja]Podstawowe
[klasa]Expert militarny[frakcja]Zabojcy
[klasa]General[frakcja]Przetrwali
[klasa]Kamikadze[frakcja]Przetrwali
[klasa]Komandos[frakcja]Podstawowe
[klasa]Koszarowiec[frakcja]Zabojcy
[klasa]Marszalek[frakcja]Zabojcy
[klasa]Medyk[frakcja]Podstawowe
[klasa]NovMayer[frakcja]Przetrwali
[klasa]Obronca[frakcja]Podstawowe
[klasa]Oficer[frakcja]Przetrwali
[klasa]Rusher[frakcja]Podstawowe
[klasa]Saper[frakcja]Podstawowe
[klasa]Sekundant[frakcja]Przetrwali
[klasa]Snajper[frakcja]Podstawowe
[klasa]Sprytny Dezerter[frakcja]Zabojcy
[klasa]Strzelec Wyborowy[frakcja]Podstawowe
[klasa]Wsparcie Ogniowe[frakcja]Podstawowe
[klasa]Zamachowiec[frakcja]Zabojcy
[klasa]Aspekt artylerii[frakcja]Premium
[klasa]Dowodca[frakcja]Premium
[klasa]Gestapo[frakcja]Premium
[klasa]Kapitan[frakcja]Premium
[klasa]Master Czulki[frakcja]Premium
[klasa]Profesjonalny Aspekt artylerii[frakcja]Premium
[klasa]Profesjonalny Dowodca[frakcja]Premium
[klasa]Profesjonalny Gestapo[frakcja]Premium
[klasa]Profesjonalny Kapitan[frakcja]Premium
[klasa]Profesjonalny Master Czulki[frakcja]Premium
[klasa]Elitarny Aspekt artylerii[frakcja]Premium
[klasa]Elitarny Dowodca[frakcja]Premium
[klasa]Elitarny Gestapo[frakcja]Premium
[klasa]Elitarny Kapitan[frakcja]Premium
[klasa]Elitarny Master Czulki[frakcja]Premium
[klasa]Demolitions[frakcja]Podstawowe
[klasa]Expert militarny[frakcja]Zabojcy
[klasa]General[frakcja]Przetrwali
[klasa]Kamikadze[frakcja]Przetrwali
[klasa]Komandos[frakcja]Podstawowe
[klasa]Koszarowiec[frakcja]Zabojcy
[klasa]Marszalek[frakcja]Zabojcy
[klasa]Medyk[frakcja]Podstawowe
[klasa]NovMayer[frakcja]Przetrwali
[klasa]Obronca[frakcja]Podstawowe
[klasa]Oficer[frakcja]Przetrwali
[klasa]Rusher[frakcja]Podstawowe
[klasa]Saper[frakcja]Podstawowe
[klasa]Sekundant[frakcja]Przetrwali
[klasa]Snajper[frakcja]Podstawowe
[klasa]Sprytny Dezerter[frakcja]Zabojcy
[klasa]Strzelec Wyborowy[frakcja]Podstawowe
[klasa]Wsparcie Ogniowe[frakcja]Podstawowe
[klasa]Zamachowiec[frakcja]Zabojcy
[klasa]Aspekt artylerii[frakcja]Premium
[klasa]Dowodca[frakcja]Premium
[klasa]Gestapo[frakcja]Premium
[klasa]Kapitan[frakcja]Premium
[klasa]Master Czulki[frakcja]Premium
[klasa]Profesjonalny Aspekt artylerii[frakcja]Premium
[klasa]Profesjonalny Dowodca[frakcja]Premium
[klasa]Profesjonalny Gestapo[frakcja]Premium
[klasa]Profesjonalny Kapitan[frakcja]Premium
[klasa]Profesjonalny Master Czulki[frakcja]Premium
[klasa]Elitarny Aspekt artylerii[frakcja]Premium
[klasa]Elitarny Dowodca[frakcja]Premium
[klasa]Elitarny Gestapo[frakcja]Premium
[klasa]Elitarny Kapitan[frakcja]Premium
[klasa]Elitarny Master Czulki[frakcja]Premium
Nazwy są dobrze wpisane (kopiowane bezpośrednio z sma klas, które później kompilowałem ponownie).
O co może chodzić?
Spoiler
public WybierzKlase(id)
{
new menu = menu_create("Wybierz klase:", "WybierzKlase_Frakcje");
for(new i=1; i <= ilosc_klas; i++)
{
if(!is_in_previous(frakcja_klas[i],i))
menu_additem(menu,frakcja_klas[i],frakcja_klas[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 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[50], szTmp[5], dana_klasa;
for(new i=1; i <= ilosc_klas; i++)
{
if(equali(data,frakcja_klas[i]))
{
if(JestAwansem(i))
continue;
WczytajDane(id, i);
dana_klasa = i;
for(;
{
if(awansuje_do[dana_klasa] && poziom_gracza[id] >= awanse[ZnajdzAwans(dana_klasa, awansuje_do[dana_klasa])][2])
{
dana_klasa = awansuje_do[dana_klasa];
WczytajDane(id, dana_klasa);
}
else break;
}
formatex(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[dana_klasa], poziom_gracza[id]);
num_to_str(dana_klasa, 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;
}
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
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(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 bool:is_in_previous(frakcja[],from)
{
for(new i = from - 1;i>=1;i--)
{
if(equali(frakcja_klas[i],frakcja))
{
return true;
}
}
return false;
}