I have a problem, and i don't know how to fix it.
PHP Code:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Who meniu"
#define VERSION "1.0"
#define AUTHOR "Askwrite"
#define GRUPURI 39
new const TITLU[] = " \w Nume admin \r | \w Grad \r | \w SPECIAL ACCES ";
new const IESIRE[] = "\yIesire.^n";
new const NOADMINS[] = "\y Nu sunt admini online.";
#pragma semicolon 1
new g_NumeGrade[ GRUPURI ][ ] = {
"\y[\rDetinator \rTOTAL\y] \y| \rFULL ACCES",
"\y[\rVeteran\y] \y| \rNU",
"\y[\rVeteran\y] \y| + \rHOOK",
"\y[\rVeteran\y] \y| + \rGRAB",
"\y[\rVeteran\y] \y| + \rHOOK+GRAB",
"\y[\rMaresal\y] \y| \rNU",
"\y[\rMaresal\y] \y| + \rHOOK",
"\y[\rMaresal\y] \y| + \rGRAB",
"\y[\rMaresal\y] \y| + \rHOOK+GRAB",
"\y[\rGeneral\y] \y| \rNU",
"\y[\rGeneral\y] \y| + \rHOOK",
"\y[\rGeneral\y] \y| + \rGRAB",
"\y[\rGeneral\y] \y| + \rHOOK+GRAB",
"\y[\rGeneral\y] \y| + \rT VOICE",
"\y[\rGeneral\y] \y| + \rHOOK+GRAB+T VOICE",
"\y[\rColonel\y] \y| \rNU",
"\y[\rColonel\y] \y| + \rHOOK",
"\y[\rColonel\y] \y| + \rGRAB",
"\y[\rColonel\y] \y| + \rHOOK+GRAB",
"\y[\rColonel\y] \y| + \rT VOICE",
"\y[\rColonel\y] \y| + \rHOOK+GRAB+T VOICE",
"\y[\rMaior\y] \y| \rNU",
"\y[\rMaior\y] \y| + \rHOOK",
"\y[\rMaior\y] \y| + \rGRAB",
"\y[\rMaior\y] \y| + \rHOOK+GRAB",
"\y[\rMaior\y] \y| + \rT VOICE",
"\y[\rMaior\y] \y| + \rHOOK+GRAB+T VOICE",
"\y[\rSergent\y] \y| \rNU",
"\y[\rSergent\y] \y| + \rHOOK",
"\y[\rSergent\y] \y| + \rGRAB",
"\y[\rSergent\y] \y| + \rHOOK+GRAB",
"\y[\rSergent\y] \y| + \rT VOICE",
"\y[\rSergent\y] \y| + \rHOOK+GRAB+T VOICE",
"\y[\rSoldat\y] \y| \rNU",
"\y[\rSoldat\y] \y| + \rHOOK",
"\y[\rSoldat\y] \y| + \rGRAB",
"\y[\rSoldat\y] \y| + \rHOOK+GRAB",
"\y[\rSoldat\y] \y| + \rT VOICE",
"\y[\rSoldat\y] \y| + \rHOOK+GRAB+T VOICE"
};
new g_Flaguri[ GRUPURI ][ ] = {
"abcdefghijklmnopqrstu",
"abcdefgijmnops",
"abcdefgijmnopsr",
"abcdefgijmnopsq",
"abcdefgijmnopsrq",
"bcdefgijmnos",
"bcdefgijmnosr",
"bcdefgijmnosq",
"bcdefgijmnosrq",
"bcdefgijmn",
"bcdefgijmnr",
"bcdefgijmnq",
"bcdefgijmnrq",
"bcdefgijmnsrq",
"bcdefgijm",
"bcdefgijmr",
"bcdefgijmq",
"bcdefgijmrq",
"bcdefgijmsrq",
"bcdefgij",
"bcdefgijr",
"bcdefgijq",
"bcdefgijrq",
"bcdefgijsrq",
"bcdefij",
"bcdefijr",
"bcdefijq",
"bcdefijrq",
"bcdefijsrq",
"bcef",
"bcefr",
"bcefq",
"bcefrq",
"bcefsrq"
};
new g_ValueFlaguri[ GRUPURI ];
public plugin_init( ) {
register_plugin( PLUGIN, VERSION, AUTHOR );
for( new i = 0 ; i < GRUPURI ; i++ )
g_ValueFlaguri[ i ] = read_flags( g_Flaguri[ i ] );
register_clcmd("say /who", "cmdWho");
register_clcmd("say_team /who", "cmdWho");
register_clcmd("say /admin", "cmdWho");
register_clcmd("say_team /admin", "cmdWho");
register_clcmd("say /admins", "cmdWho");
register_clcmd("say_team /admins", "cmdWho");
register_clcmd("say /admini", "cmdWho");
register_clcmd("say_team /admini", "cmdWho");
}
public cmdWho( id, page ) {
new MenuName[ 64 ], MenuExitKey[ 32 ];
formatex( MenuName, sizeof ( MenuName ) -1, "%s", TITLU );
formatex( MenuExitKey, sizeof ( MenuExitKey ) -1, "%s", IESIRE );
new menu = menu_create(MenuName, "InchidereMeniu");
if( AdminiON( ) )
{
for( new i = 0; i < GRUPURI; i++ )
{
AdaugareA( id, menu, i );
}
}
else
{
menu_additem( menu, NOADMINS , "1", 0 );
}
menu_setprop(menu, MPROP_EXITNAME, MenuExitKey );
menu_display(id, menu, page);
}
public InchidereMeniu(id, menu, item) {
if(item == MENU_EXIT)
{
menu_destroy( menu );
return 1;
}
new data[6], iName[64];
new iaccess, callback;
menu_item_getinfo(menu, item, iaccess, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1,2,3,4,5,6,7:
{
menu_destroy( menu );
return 1;
}
}
return 0;
}
public AdaugareA( const id, const menu, const group ) {
new AdminMenuMessage[ 32 ][ 64 ],AdminMenuKey[ 32 ][ 32 ], MenuKey = 1;
static Players[ 32 ], Num, Player;
get_players( Players, Num, "ch" );
for( new x = 0 ; x < Num ; x++ )
{
Player = Players[ x ];
if( get_user_flags( Player ) == g_ValueFlaguri[ group ] )
{
formatex( AdminMenuMessage[ MenuKey ], sizeof ( AdminMenuMessage[ ] ) -1, "\w%s \y- | \w%s%s ",
gName( Player ), g_NumeGrade[ group ], Player == id ? "\r *" : "" );
formatex( AdminMenuKey[ MenuKey ], sizeof ( AdminMenuKey[ ] ) -1, "%d", MenuKey );
MenuKey++;
}
}
for( new z = 1 ; z < MenuKey ; z++ )
{
menu_additem( menu, AdminMenuMessage[ z ], AdminMenuKey[ z ], 0 );
}
}
stock bool:AdminiON( ) {
new bool:AGasiti = false;
static Players[ 32 ], Num, Player;
get_players( Players, Num, "ch" );
for( new x = 0 ; x < Num ; x++ )
{
Player = Players[ x ];
for( new i = 0 ; i < GRUPURI ; i++ )
{
if( AGasiti ) break;
if( get_user_flags( Player ) == g_ValueFlaguri[ i ] )
{
AGasiti = true;
}
}
}
return AGasiti ? true : false;
}
stock gName( id ) {
new name[ 32 ];
get_user_name( id, name, sizeof ( name ) -1 );
return name;
}