mam problem - niezależnie od tego ile klas jest - zawsze nie pokazuje 2 ostatnich, tzn pokazuje ale opis jest taki jak w załączniku. Nie wiem czego to jest problem, mam całkiem nieźle zmodyfikowany silnik - frakcje / wytrzymałość perku itp itd. Załączam funkcję opis klasy
public OpisKlasy(id)
{
new menu = menu_create("Wybierz klase:", "OpisKlasy_Frakcje");
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_additem(menu,"Awanse","Awanse")
menu_setprop(menu, MPROP_EXITNAME, "\wWyjdz");
menu_setprop(menu, MPROP_BACKNAME, "\wPoprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "\wNastepna strona");
menu_display(id, menu);
}
public OpisKlasy_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:", "OpisKlasy_Handle");
new klasa[50],szTmp[50];
for(new i=1; i <= ilosc_klas; i++)
{
if(equali(data,frakcja_klas[i]) || (equali(data,"Awanse") && JestAwansem(i))){
format(klasa, charsmax(klasa), "\y%s%s", JestAwansem(i)? "\r": "", nazwy_klas[i]);
num_to_str(i,szTmp,charsmax(szTmp));
menu_additem(menu2, klasa, szTmp);
}
}
menu_setprop(menu2, MPROP_EXITNAME, "\wWyjdz");
menu_setprop(menu2, MPROP_BACKNAME, "\wPoprzednia strona");
menu_setprop(menu2, MPROP_NEXTNAME, "\wNastepna strona");
menu_display(id, menu2);
client_cmd(id, "spk QTM_CodMod/select");
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
public OpisKlasy_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);
new bronie[320];
for(new i=1, n=1; i <= 32; i++)
{
if((1<<i) & bronie_klasy[item])
{
new weaponname[22];
get_weaponname(i, weaponname, 21);
replace_all(weaponname, 21, "weapon_", " ");
if(n > 1)
add(bronie, charsmax(bronie), ",");
add(bronie, charsmax(bronie), weaponname);
n++;
}
}
new opis[416+MAX_WIELKOSC_OPISU];
format(opis, charsmax(opis), "\yKlasa: \d%s^n\yInteligencja: \d%i^n\yZdrowie: \d%i^n\yWytrzymalosc: \d%i^n\yKondycja: \d%i^n\yBronie:\d%s^n\yDodatkowy opis: \d%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);
show_menu(id, 1023, opis);
return PLUGIN_CONTINUE;
}


Dodatki SourceMod













