Handle:BuildMainMenu(client)
{
/* Create the menu Handle */
new Handle:menu = CreateMenu(Menu_Group);
if (!KvGotoFirstSubKey(kv))
{
return INVALID_HANDLE;
}
decl String:buffer[30];
decl String:accessFlag[5];
new AdminId:admin = GetUserAdmin(client);
{
do
{
if(GetConVarInt(g_AdminGroup) == 1)
{
// check if they have access
new String:group[30];
new String:temp[2];
KvGetString(kv,"Admin",group,sizeof(group));
new AdminId:AdmId = GetUserAdmin(client);
new count = GetAdminGroupCount(AdmId);
for (new i =0; i<count; i++)
{
if (FindAdmGroup(group) == GetAdminGroup(AdmId, i, temp, sizeof(temp)))
{
// Get the model group name and add it to the menu
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
}
}
//Get accesFlag and see if the Admin is in it
KvGetString(kv, "admin", accessFlag, sizeof(accessFlag));
if(StrEqual(accessFlag,""))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"a") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Reservation, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"b") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Generic, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"c") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Kick, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"d") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Ban, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"e") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Unban, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"f") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Slay, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"g") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Changemap, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"h") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Convars, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"i") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Config, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"j") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Chat, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"k") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Vote, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"l") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Password, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"m") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_RCON, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"n") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Cheats, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"o") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Custom1, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"p") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Custom2, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"q") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Custom3, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"r") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Custom4, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"s") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Custom5, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"t") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Custom6, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
if(StrEqual(accessFlag,"z") && admin != INVALID_ADMIN_ID && GetAdminFlag(admin, Admin_Root, Access_Effective))
{
KvGetSectionName(kv, buffer, sizeof(buffer));
AddMenuItem(menu,buffer,buffer);
}
} while (KvGotoNextKey(kv));
}
KvRewind(kv);
AddMenuItem(menu,"none","None");
SetMenuTitle(menu, "Skins");
return menu;
}