public skinsMenu(index, csw)
{
new item[MAX_CHARS + 5],
userFlags = get_user_flags(index),
bool:hasAccess,
saveData[8],
menuTitle[MAX_CHARS * 3],
bool:defaultSkin = (userSkin[index][csw] == -1),
menuIndex,
skinFlags,
stats[8],
blank[8],
fragsData[16];
// Get skin name if not default.
if(!defaultSkin)
ArrayGetString(skinName[csw], userSkin[index][csw], menuTitle, charsmax(menuTitle));
// Format menu title with skin name.
format(menuTitle, charsmax(menuTitle), "Aktualny skin: %s^nWybierz nowego skina:", userSkin[index][csw] > -1 ? menuTitle : "Brak");
// Create menu handler.
menuIndex = menu_create(menuTitle, "skinsMenu_handler");
// Format and add default skin data.
formatex(saveData, charsmax(saveData), "1#%i", csw);
// Add formated data as menu item.
menu_additem(menuIndex, "Domyslny", saveData);
// Loop through every skin assigned to CSW_ index and add it's data to menu item.
ForRange(i, 0, ArraySize(skinName[csw]) - 1)
{
// Get skin flags.
skinFlags = ArrayGetCell(skinAccess[csw], i);
new frags = ArrayGetCell(skinFrags[csw], i);
get_user_stats(index, stats, blank);
// User has access to that skin?
hasAccess = bool:(userFlags & skinFlags == skinFlags && stats[0] >= frags);
if(frags)
formatex(fragsData, charsmax(fragsData), " Od: %i fragow", frags);
// Get skin name.
ArrayGetString(skinName[csw], i, item, charsmax(item));
// Format menu option with skin name.
format(item, charsmax(item), "%s%s%s", hasAccess ? "\w" : "\r", item, fragsData);
// Format menu data.
formatex(saveData, charsmax(saveData), "%i#%i", hasAccess, csw);
// Add data to menu.
menu_additem(menuIndex, item, saveData);
}
menu_display(index, menuIndex);
return PLUGIN_HANDLED;
}